"Quórum Teológico" es un blog abierto al desarrollo del pensamiento humano y desea ser un medio que contribuya al diálogo y la discusión de los temas expuestos por los diferentes contribuyentes a la misma. "Quórum Teológico", no se hace responsable del contenido de los artículos expuesto y solo es responsabilidad de sus autores.

Ya puedes traducir esta página a cualquier idioma

Déjanos tu mensaje en este Chat

Python vs. Java: Uses, Performance, Learning

Python vs. Java: Uses, Performance, Learning


Python vs. Java: Uses, Performance, Learning

In the world of computer science, there are many programming languages, and no single
language is superior to another. In other words, each language is best suited to solve
certain problems, and in fact there is often no one best language to choose for a given
programming project. For this reason, it is important for students who wish to develop
software or to solve interesting problems through code to have strong computer science
fundamentals that will apply across any programming language.
Programming languages tend to share certain characteristics in how they function, for example
in the way they deal with memory usage or how heavily they use objects. Students will start
seeing these patterns as they are exposed to more languages. This article will focus primarily
on Python versus Java, which are two of the most widely used programming languages in the
world. While it is hard to measure exactly the rate at which each programming language is
growing, these are two of the most popular programming languages used in industry
today.
One major difference between Python and Java is that Python is dynamically typed, while
Java is statically typed. Loosely, this means that Java is much more strict about how variables
are defined and used in code. As a result, Java tends to be more verbose in its syntax,
which is one of the reasons we recommend learning Python before Java for beginners.
For example, here is how you would create a variable named numbers that holds the numbers 0
through 9 in Python:
numbers = []


for i in range(10):
numbers.append(i)


Here's how you would do the same thing in Java:
ArrayList numbers = new ArrayList();


for (int i = 0; i < 10; i++) {
numbers.add(i);
}
Another major difference is that Java generally runs programs more quickly than Python, as it is
a compiled language. This means that before a program is actually run, the compiler translates
the Java code into machine-level code. By contrast, Python is an interpreted language, meaning
there is no compile step.

Usage and Practicality

Historically, Java has been the more popular language in part due to its lengthy legacy. However,
Python is rapidly gaining ground. According to Github’s State of the Octoberst Report, it has
recently surpassed Java as the most widely used programming language. As per the 2018
developer survey, Python is now the fastest-growing computer programing language.
Both Python and Java have large communities of developers to answer questions on websites like
Stack Overflow. As you can see from Stack Overflow trends, Python surpassed Java in
terms the percentage of questions asked about it on Stack Overflow in 2017. At the time of
writing, about 13% of the questions on Stack Overflow are tagged with Python, while about 8%
are tagged with Java!

Web Development

Python and Java can both be used for backend web development. Typically developers will
use the Django and Flask frameworks for Python and Spring for Java. Python is known for its
code readability, meaning Python code is clean, readable, and concise. Python also has a large,
comprehensive set of modules, packages, and libraries that exist beyond its standard library,
developed by the community of Python enthusiasts. Java has a similar ecosystem, although
perhaps to a lesser extent.

Mobile App Development

In terms of mobile app development, Java dominates the field, as it is the primary langauge
used for building Android apps and games. Thanks to the aforementioned tailored libraries,
developers have the option to write Android apps by leveraging robust frameworks and
development tools built specifically for the operating system. Currently, Python is not used
commonly for mobile development, although there are tools like Kivy and BeeWare that allow you
to write code once and deploy apps across Windows, OS X, iOS, and Android.

Machine Learning and Big Data

Conversely, in the world of machine learning and data science, Python is the most popular
language. Python is often used for big data, scientific computing, and artificial intelligence (A.I.)
projects. The vast majority of data scientists and machine learning programmers opt for
Python over Java while working on projects that involve sentiment analysis. At the same
time, it is important to note that many machine learning programmers may choose to use Java
while they work on projects related to network security, cyber attack prevention, and fraud
detection.

Where to Start

When it comes to learning the foundations of programming, many studies have concluded that
it is easier to learn Python over Java, due to Python's simple and intuitive syntax, as seen in the
earlier example. Java programs often have more boilerplate code - sections of code that have to
be included in many places with little or no alteration - than Python. That being said, there are
some notable advantages to Java, in particular its speed as a compiled language. Learning both
Python and Java will give students exposure to two languages that lay their foundation on
similar computer science concepts, yet differ in educational ways.
Overall, it is clear that both Python and Java are powerful programming languages in practice, and
it would be advisable for any aspiring software developer to learn both languages proficiently.
Programmers should compare Python and Java based on the specific needs of each software
development project, as opposed to simply learning the one language that they prefer. In short,
neither language is superior to another, and programmers should aim to have both in their
coding experience.



Python
Java
Runtime Performance

Winner
Ease of Learning
Winner

Practical Agility
Tie
Tie
Mobile App Development

Winner
Big Data
Winner

This article originally appeared on junilearning.com

8 Reasons Coding for Kids is Not Just Another Fad

8 Reasons Coding for Kids is Not Just Another Fad 



Image Source

Is Coding a Fad?
In short, no. Coding is a field that is growing and changing quickly; there is a world of opportunity for
young students looking to get involved in the tech world. Opponents to this position might argue that
today’s popular languages, like Python, won’t be used ten or fifteen years down the line. So what’s
the use in learning these programming languages?

While it is true that programming will continue to advance, it is important to remember that there is so
much more to learning a coding language like Python than memorizing syntax and applications. When
we teach coding, we teach concepts beyond one particular language. Students gain knowledge about
how computers process and “think” about a given problem, regardless of which language they are
learning. They gain important intuition about fundamental concepts, like basic control structures
(e.g. loops and conditional statements) and algorithms, that will undoubtedly be useful in our highly
technological future. Below are 8 of the many reasons why coding for kids is not just another trendy or
silly fad.


1. Our world is growing more technological
In the 21st century, we have seen enormous developments in the technology industry. The world is
moving in a direction that is both fast-paced and information-centered. Data is quickly becoming one
of the most valuable resources in the global economy, and individuals with digital literacy are becoming
more valued in the labor market. With all of this in mind, it’s hard to ignore the massive role that fields like
data science and software engineering, both largely centered around coding, are going to have. Figures
estimate seemingly outrageous numbers - an estimated fifty billion smart devices are projected to be in use by 2020
- illustrating the abundance of technology in our lives.


With such statistics in our near futures, it is clear to see that industries are changing. The internet is a
hub of information, applications, e-commerce, social networking, and communication platforms, all of
which are designed to increase efficiency, performance, and convenience. As industries become digitized,
new jobs are simultaneously emerging. Coding is an asset that will only continue to grow as we move
forward as an increasingly connected society.


2. It teaches kids to strategize for unique solutions
Computer science is a highly useful tool beyond its direct applications. As there is rarely one right answer
to a given problem, computer science encourages students to create solutions that are unique. For
computer scientists, this means that coders have a great amount of leeway to create their own intuitive
solutions.

Teaching kids how to code pushes young students to actually learn, not just memorize facts and regurgitate
them. It challenges students to critically think about a problem, what they want to accomplish, and how to
get it done. There are plenty of kid-friendly coding languages, such as Scratch, that give young students
the opportunity to build unique projects using coding techniques. Scratch also allows coders to share their
projects with the world. This connectivity can inspire new and aspiring coders to learn from their peers and
guide them through more complicated projects and concepts. This collaborative environment also allows
students to work together and learn from one another. Encouraging kids to utilize these programs not only
teaches them useful skills for computer science, but it also allows them to exercise their creativity.


3. It teaches students to not give up
Most coders will advise, while there is plenty of room for creativity in coding, there is also plenty of room for
error. Learning to code teaches students how not to give up on their solutions, but rather to debug their code,
even when repeated error messages appear. Coders tease out solutions by using their understanding of
computational thinking (see point 6) to isolate any errors and achieve the goal at hand. That code can
always be improved upon motivates coding students to go back and better their solutions, an incredibly
valuable skill set to have in general. Code also instills resilience, yet another invaluable tool in the workplace.
While programming can feel tedious, frustrating, and difficult at times, the process of problem solving inherently
makes for better coders and better students.


4. It can be applied to almost everything that students are learning
Computer science is expanding into every corner of the world, with applications for anything one can
imagine and automated services that are permeating thousands of business models worldwide. On top of
that, programming incorporates many mathematical concepts, and it can complement the concepts students
are learning in their math classes.

Coding also promotes problem-solving, an important skill for any student. Beyond math, students can use
code to support other interests they may have. With coding, young professionals’ career options extend
across industries. By teaching kids how to code, students will find the confidence and tools to explore
aspects of software engineering, data analysis, video game development, and mobile app development
- in just about any industry that they know and love.


5. It is challenging and collaborative
Coding challenges young students to explore new fields. Computer science is a collaborative field, allowing
individuals to work together to complement one another’s skill sets, and write code that is efficient and
intuitive. Students can and often do learn to code in a group setting, so that they can discuss their ideas
and learn from each other’s successes. Learning to code encourages students to work together when they
reach a roadblock. It promotes collaboration via idea exchange and allows students’ to compare and contrast
solutions. Teaching kids about computer programming can be a catalyst for inspiring teamwork and
leadership among students.


6. It teaches students about computational thinking
Whichever languages a student decides to pursue - Python, Java, or any of the long list of popular coding
languages today - will help them develop computational thinking. This means that students will learn how to
effectively break down problems into manageable parts, observe patterns in data, identify how these
patterns are generated, and develop the step-by-step instructions for solving those problems.


Computational thinking and digital literacy are arguably the most important aspect to learning to code at
any age due to the huge technological shift in nearly every industry on the global market (see point 1).
Establishing a foundation in computational thinking will pave the way for future success in and outside
CS related fields. All students can benefit from understanding computational thinking, as it applies to the
technological aspects of daily life.


7. It’s good for the brain
Like any good challenge, coding is an excellent way to strengthen young, developing brains. It encourages
students to combine their knowledge of computational learning and out-of-the-box thinking to strategize
unique solutions.


Multiple studies support the hypothesis that learning to code has real, long term benefits on young children. Researchers have found that individuals who code tend to have reduced odds of getting neurodegenerative diseases in older age. Coders also tend to do better in cognitive tasks, because coding activates areas of the brain that are associated with memory, attention, and logic. Learning to code at an early age supports neural connections in these regions, leading to high performance in other fields, as well.


8. It’s fun!
While we may be slightly biased, computer science is an educational way to bring fun into your children’s
lives! Computer science is one of the few fields of study in which students can see the immediate outcome
of their work as they build out their projects - by running their code, they get instant, live feedback.


Programs like Scratch and Repl.it utilize software that is kid-friendly and permits students to visualize their
projects as they come to life! They can build code that creates a videogame or a website and share their
work with friends. Developing kids’ proficiency with computer science now will lead to a future generation
of coders who have the skill set to advance our world.


This article originally appeared on junilearning.com 

LA INDEPENDENCIA DE COLOMBIA

LA INDEPENDENCIA DE COLOMBIA
EL VERDADERO PRÓCER DEL 20 DE JULIO:
JOSÉ MARÍA CARBONELL
Por Olmedo Beluche
(Fragmento del libro “Independencia Hispanoamericana y lucha de clases”)

Nuestra independencia, al igual que el modelo clásico de la revolución Francesa, tuvo sus partidos: los realistas (virreyes y oidores, como Abascal, Liniers o Amar, con sus generales terribles como Sámano y Morillo); los girondinos o moderados (Castelli y Rivadavia en el Sur, Camilo Torres en Nueva Granada y  Miranda en Venezuela); sus jacobinos (como el propio Bolívar, Mariano Moreno o sus seguidores póstumos, San Martín, Nariño); y su partido más radical y plebeyo, a la manera de los Sans-Culottes  (representado por Carbonell en Bogotá, Beruti y French en Buenos Aires, Artigas en Uruguay, José Leonardo Chirino o Piar en Venezuela).

Empecemos por despejar un equívoco: se dice que estamos conmemorando el Bicentenario de la Independencia, en base a los sucesos de 1810; sin embargo, en la mayoría de las Juntas que se impusieron en las ciudades y capitales virreinales de América, no se declaró tal independencia, por el contrario, asumieron el poder político en nombre de Fernando VII y a la espera de su retorno.

Lo que tuvieron de revolucionario aquellos sucesos fue que las Juntas en muchos lugares se impusieron gracias a la movilización popular, que arrancó el poder de las autoridades virreinales. Pero el poder quedó en manos de quienes controlaban los Cabildos, es decir, la oligarquía criolla con ínfulas nobiliarias principal beneficiaria del modelo económico colonial, aunque desprovista, hasta ese momento, del poder político.

Por supuesto, las alas más radicales de las sublevaciones populares, en muchos casos sí levantaban ya la propuesta de Independencia total de la metrópoli y el establecimiento de un gobierno republicano. Pero éste primer envión popular, no puso el poder político en manos de los partidos radicales, sino que lo arrancó a los virreyes y lo entregó a la élite criolla moderada.

El historiador José Luis Romero, especialista en este tema, afirma: “No es fácil establecer cuál era el grado de decisión que poseían los diversos sectores de las colonias hispanoamericanas para adoptar una política independentista. Desde el estallido de la Revolución francesa aparecieron signos de que se empezó a pensar en ella… Pero era un sentimiento tenue…”.

Por el contrario, hacia 1810, la actitud de los próceres criollos fue una reacción contra el posible influjo subversivo que podrían tener en la sociedad hispanoamericana las ideas revolucionarias francesas, a través de José Bonaparte. Parodiando esta actitud, el historiador Liévano Aguirre dice: “Fue la amenaza de la Francia revolucionaria la que aceleró la crisis, puso término a las indecisiones, y dos consignas célebres resumieron, en América, las tendencias de los distintos intereses en juego. Los funcionarios españoles dijeron: “Los franceses antes que la emancipación” y los criollos respondieron: “La emancipación antes que los franceses””.

Basten dos ejemplos, uno citado por Romero y el otro por Liévano, sobre dos importantes figuras de este momento y cómo en realidad pensaban: Francisco de Miranda y Camilo Torres.

Francisco de Miranda, que vivió muchos años en Europa, el precursor de la idea de la independencia, expresaba al sector mercantil hispanoamericano vinculado a los intereses británicos, cuyo modelo político apreciaba. Respecto a él, dice Romero: “Una cosa quedaba clara a sus ojos: la urgente necesidad de impedir que penetraran  en Latinoamérica las ideas francesas… Una y otra vez expresó que era imprescindible que la política de los girondinos o de los jacobinos no llegara a “contaminar el continente americano, ni bajo el pretexto de llevarle libertad”, porque temía más “la anarquía y la confusión” que la dependencia misma”.

Camilo Torres, autor del Memorial de Agravios, por el cual exige la igualdad de los americanos (pero sólo de los criollos) con los españoles, opina: “… La constitución napoleónica será un contagio funesto, que apestará nuestros pueblos. Perseguidla y quemad vivo al que quiera introducirla entre nuestros hermanos…”.

Porque ambos próceres expresaban con claridad los intereses de la clase a la que pertenecían y cuando hablaban de libertad e igualdad, se referían a la oligarquía criolla, y no a la masa de explotados indios, mestizos y negros. Por ejemplo, Miranda, en su “Bosquejo de Gobierno Provisorio” (1801) propone el paso del gobierno a los Cabildos en los que se aceptarán representantes de “la gente de color”, pero sólo en un tercio, y si son “propietarios de no menos de diez arpentes de tierra”. Torres, por su parte, en el Memorial alega que: “Los naturales (los indios), conquistados y sujetos hoy al dominio español, son muy pocos o son nada en comparación de los hijos de europeos...”, para justificar que no tienen derecho a la representación en la Cortes.

Respecto a los objetivos de los criollos, en el caso de la Junta de Santa Fe (Bogotá), queda claro en la nota que ellos mismos dirigieron a las provincias invitándoles a sumarse que: “Nuestros votos, nuestro juramento son “la defensa y la conservación de nuestra santa religión católica: la obediencia a nuestro legítimo soberano el señor Fernando VII, y el sostenimiento de nuestros derechos hasta derramar la última gota de sangre por tan sagrados objetivos. Tan justos principios no dejarán de reunirnos las ilustres provincias del reino. Ellas no tienen otros sentimientos, según lo han manifestado, ni conviene a la común utilidad que militemos bajo otras banderas, o sea otra nuestra divisa que “religión, patria, rey”” (29 de julio de 1810).

Estas actitudes inconsecuentes no valieron de nada a los criollos, y al propio Camilo Torres, cuando el general Morillo, luego de restaurado Fernando VII, decidiera pasarlo por las armas en 1816. Actitud represiva y vengativa de la monarquía que hizo mucho más por convencer a los criollos de volcarse a la Independencia que todos los discursos de Simón Bolívar.

Según Liévano, el mismo 20 de julio de 1810, los criollos montaron una provocación para que el pueblo saliera a la calle y legitimara la instalación de la Junta forzando al virrey Amar a reconocerla. Pero ante la magnitud de la protesta popular, y los saqueos de los comercios de los gachupines, la oligarquía cachaca se asustó y corrió a esconderse en los “retretes más recónditos de sus casas”.  De manera que, al caer la noche, y retirarse el pueblo a la sabana, sólo el criollo Acevedo y Gómez intentaba vanamente mantener una ficción frente al Ayuntamiento, para beneplácito del virrey que creía desvanecido el movimiento.

Es un joven de 25 años, modesto funcionario de la Expedición Botánica, al que ya ni recuerdan entre los próceres, José María Carbonell, quien con un grupo de seguidores se dirigió a los arrabales de la ciudad, tocó las campanas y congregó al pueblo de Bogotá, salvando al movimiento, e intimidando al virrey que se vio obligado a reconocer la Junta. Es Carbonell, al frente de las huestes populares quien fuerza, en las siguientes semanas, a la destitución y prisión definitiva del virrey. La Junta se constituyó sólo con miembros de la oligarquía, ante la protesta de Carbonell y el pueblo, y  le pagó a éste con la cárcel, posteriormente.

Bibliografía:


  1. Liévano Aguirre, Indalecio. Los grandes conflictos sociales y económicos de nuestra historia. Círculo de Lectores, S.A. Bogotá, 2002.
  2. Luna, Félix. La independencia argentina y americana (1808-1824). La nación. Buenos Aires, 2003