Con que empezar a programar

R

Me gustaria aprender algo de programacion y queria saber con que lenguaje empezar. Ya que no tengo mucha nocion.

Aidanciyo

Yo empecé con Pascal y me fue de culo.
Así que no empieces por Pascal.

1
CrimsonRed

Yo empece con Java y la verdad es que me fue bastante bien, me pareció muy asequible y después de aprender lo suficiente ya me metí con otros como PHP, Javascript, C# y demás, creo que Javascript también puede ser sencillo para ir empezando y si lo mezclas con Html y Css puedes practicar a hacer webs, pero si lo que quieres es programación pura creo que de lo más asequible son Java y C#, o incluso C a secas.

vincen

Que es lo que mas te llama? apartado web? Aplicaciones de escritorio para Windows? una app para android? un videojuego?

En youtube pones "Curso programación -LENGUAJE- desde 0" y tienes a patadas para empezar con lo básico donde te explican todo.

1 respuesta
SrElegante

yo empezaría por java para aprender lo básico luego ya donde tu quieras orientarte

DiosUniverso

https://www.udemy.com/desarrollo-web-completo-con-html5-css3-js-php-y-mysql/learn/v4/content

ZaO

Python y javascript

1
D3S1GN3R

C plano para entender los fundamentos de la gestion de memoria y tener una base solida

R

#4 Aplicaciones de escritorio o videojuegos, habia mirado el c#,python y java y no se cual por empezar.

2 respuestas
vincen

#9 Pues no estaría mal empezar con c# y Unity

1 respuesta
CrimsonRed

#9 Como te ha dicho #10 si estas interesado en videojuegos lo mejor es que empieces con C# y Unity, eso si, intenta primero aprender a programar lo básico y cuando ya sepas manejarte métete a Unity, porque si vas de cabeza a intentar programar igual te estampas, que Unity usa sus librerías y no tiene pocas precisamente xD

imsack

Empieza con java.

Geekalvaro

Depende de tus motivaciones. En general Java o Python. Si quieres hacer juegos por hobbie o algo así C# con Unity. Si es con aspiraciones profesionales no vale con que aprendas un lenguaje y ya. Tendrás que aprender ciertas bases más allá de la programación en si.

HeXaN

Con libreta y boli.

4
B

.

Bigimvnol

Para empezar a programar sea en el lenguaje que sea, tienes que hacer una prueba que emita un mensaje con un: "Hola mundo!!". Si no haces esto, nada en
tu vida de programador tendrá sentido.

2
R

No sé qué sentido le veis los que recomendáis java como PRIMER lenguaje.
Empezar en un lenguaje orientado a objetos no le veo mucho sentido, más que nada por que no sabes ni que es una clase, ni un objeto y no es lo que quieres/debes aprender cuando te inicias.

1 respuesta
djamb
#17RsTTa:

Eso diselo a las universidad de españa que daban java en primero

1 respuesta
R

Yo hice unos 3 cursos del paro de java basico "Me servio de poco 3 meses y el profesor apenas explicaba", diseño web con html, css y js, y luego uno de multiplataformas php ,java y js "Este duro 6 meses y todo comprimido y deprisa y lo mismo mal explicado estaba mas en google mirando como hacerlo".

14 días después
Mewtwo

#18 en la mia pascal y ahora c y es de españa :psyduck:

Y no me arrepiento haber aprendido en pascal bendita maravilla

Zerokkk

Yo creo que Java está muy bien para aprender, la verdad. Pero depende de a qué nicho de mercado quieras apuntar.

eisenfaust

El problema de aprender con Java es que luego tienes que desaprender Java.

1 respuesta
luzius

Es tu amigo

Zerokkk

#22 Lo bueno que tiene, creo yo, es que es un lenguaje muy verbose y que por tanto, da bastantes "pistas" sobre cómo debe programarse en OOP. Lo malo, es que te puede dar malas prácticas tanto si vas para microcontroladores (C y demás) como para web (JS), pero lo veo mejor starting point que ambos lenguajes, ya que carece de la complejidad de C y no te da pie a coger tan malas prácticas como JS.

¿Qué lenguaje recomendarías si no?

PD: algo que veo bien revisar también si se está aprendiendo, es https://refactoring.guru/

1 respuesta
eisenfaust

#24 si lo que se busca es aprender a programar oop, deberia al menos usarse un lenguaje orientado a objetos y no algo que pretenda serlo, como java

muchas de las tecnicas empleadas en el enlace que has puesto son fruto de las limitaciones del lenguaje

2 respuestas
eondev

#25 Qué recomiendas tú entonces?

1 respuesta
Zerokkk

#25 He dado clases específicas de OOP (y no a mindundis ni empresas pequeñas precisamente) y Java me parece un lenguaje perfectamente diseñado para ello. Sinceramente, no sé de dónde te sacas eso; me has dejado anonadado. Puedo aseverar que te equivocas, pero prefiero darte el beneficio de la duda y dejar que expliques por qué crees que Java no sigue correctamente el paradigma OOP. ¿Acaso estás suponiendo que no se puede programar SOLID con Java?

1 1 respuesta
xoubi

#26

1 1 respuesta
eisenfaust

#27 puedes hacer solid y simular oop en cualquier lenguaje con lexical scoping, lo cual no implica que dicho lenguaje sea automaticamente orientado a objetos. si java lo fuese, no habria distincion alguna entre objetos y tipos primitivos, por ejemplo.

de la misma forma que puedes utilizar idioms funcionales como map/filter/reduce en javascript, pero eso no quiere decir que el lenguaje sea funcional (y por lo tanto no tiene autoridad alguna sobre como dicho paradigma "debe" programarse)

el gran problema que le veo a java, y demas lenguajes que copiaron el modelo oop de simula (especialmente aquellos tipados) y por ende basados en clases, es que los metodos (y su despachado) pertenecen a estas, por lo que es imposible acceder a un metodo sin que el compilador tenga que verificar que el objeto que llama a ese metodo sea una instancia de dicha clase (solo de una, porque java no tiene herencia multiple, fallo garrafal que se intenta solucionar con interfaces, lo cual satisface al compilador, pero no permite jerarquias independientes de clases). es decir, no existen funciones genericas que puedan ser definidas sin escribir una clase creando un entorno extremadamente rigido para deleite de la editorial que publico el gof

smalltalk y eiffel son mejores ejemplos para aprender oop "pura"

pero en mi opinion hay algo mejor que es lo que propone #28 con el MOP: separacion absoluta entre definiciones de clase (cuyo trabajo se debe limitar a definir jerarquia y estructura), funciones genericas que se encarguen del despachado y metodos que las implementen en forma de especializacion segun los argumentos recibidos

1 1 respuesta
Zerokkk

#29 Interesante. Igualmente, creo que es un poco desafortunado apropiar un concepto a su definición inicial, y no tener en cuenta cómo avanza. A día de hoy, lo que se aplica como teoría OOP, toma la herencia múltiple más bien como algo heterodoxo y alejado del paradigma perseguido por las decisiones de diseño actuales. Lenguajes como Java o C# cumplen dichos principios modernos de OOP mejor que Python, por ejemplo, donde sí se pueden hacer herencias múltiples.

El caso es que al poseer en su arsenal clases, herencia única, clases abstractas e interfaces, si sigues unos patrones de diseño adecuados, puedes representar con cierta facilidad cualquier jerarquía de clases que se te ocurra. Las clases establecen la morfología de un objeto determinado, mientras que las interfaces son más bien características y comportamientos muy concretos. Me parece perfectamente normal este avance en el concepto de OOP, ya que esa vieja concepción podía llevar a diseños disfuncionales y donde sería fácil cometer errores.

Por otra parte, tampoco te creas que pienso que la OOP "pura" (o moderna o como queramos llamarlo), tan rígida sea lo mejor. Si algo me gusta de Typescript, es el poder mezclar OOP con composición, en un lenguaje de scripting. Creo que la extrema verbosidad de algunos lenguajes es lo que los empeora; de ahí que haya perdido bastante interés por Java en los últimos años pese a que me ha dado mucho de comer (si tuviese que tocar Java ahora mismo, me pasaría directamente a Kotlin, pienso).

1 respuesta