¿Qué lenguaje de programación debo usar para implementar algoritmos que creo?

Ya hay muchas buenas respuestas aquí. Aunque no uso Python yo mismo, he oído que es un excelente lenguaje para principiantes, y espero que lo revisen.

Tendré que mencionar algunos otros también, solo para hacerle saber algunos que también recomendaría.

C

C es mi lenguaje de programación favorito personal. Podría decirse que es el lenguaje de programación más exitoso de todos los tiempos , y todavía está en uso muy extendido casi 40 años después de su presentación pública. Puede ser un lenguaje fácil y difícil de aprender, fácil porque tiene un conjunto muy pequeño de “palabras clave”, y no hay una funcionalidad “oculta” en C como en la mayoría de los otros lenguajes de alto nivel, lo que significa que la computadora ejecutará exactamente lo que escribes en C, ni más ni menos. También se sabe que C es el lenguaje más poderoso además de los lenguajes ensambladores, ya que permite al programador un acceso ilimitado al hardware de la computadora.

Pascal

Pascal es un poco mayor que C, pero sigue siendo un gran lenguaje que se ha “transformado” en el lenguaje Delphi (que en realidad es solo Pascal orientado a objetos). Pascal fue inventado específicamente para ser un lenguaje de enseñanza, muy adecuado por diseño para ser un primer lenguaje de programación. Tiene una sintaxis simple (en realidad se le ha llamado “primo” a ‘C’, por lo que es fácil pasar de Pascal a C) y es extremadamente adecuado para hacer el tipo de cosas que desea hacer, portar sus algoritmos pseudocódigo a código “real”.

BÁSICO

BASIC significa lenguaje de instrucción simbólica de uso múltiple para principiantes. BASIC es uno de los idiomas más antiguos que todavía se usan (principalmente como Visual BASIC), y como su nombre lo indica , fue diseñado específicamente para principiantes . Hubo un tiempo en que BASIC era el lenguaje predominante utilizado para programar computadoras personales, y casi todos los programadores sabían BASIC. BASIC es probablemente el lenguaje más simple para aprender de todo lo que se ha mencionado en estas respuestas , pero está un poco anticuado y ya no se usa ampliamente.

No hay una respuesta correcta para esto. El campo de los algoritmos generalmente es independiente del lenguaje , lo que significa que puede aprender e implementar un algoritmo en cualquier idioma. Uno de los libros de algoritmos de algoritmos más famosos, Introducción a los algoritmos, está escrito completamente en pseudocódigo . No tiene barreras de idioma para que cualquiera, independientemente de su experiencia en programación, pueda aprenderlo y comenzar a leer (sin embargo, implica una buena cantidad de matemáticas, por lo que podría ser un problema).

Aunque CLRS es genial, personalmente no me gusta el pseudocódigo. Como otros han mencionado, es prácticamente imposible probarlo. Puede probar a mano, pero es lento y propenso a errores . Además, tienes que hacer cada paso a mano para múltiples casos.

Entonces, en resumen, no use pseudocódigo. Aparte de eso, use lo que se sienta cómodo. Si conoce incluso los conceptos básicos de cualquier idioma, quédese con él. Si no, hay algunas opciones que recomendaría.

  1. Otros han mencionado Python . Es un gran lenguaje que es extremadamente expresivo y simple. En realidad, puede concentrarse en los pasos del algoritmo en lugar de la sintaxis del lenguaje. Esta sería mi primera opción.
  2. Java podría ser una opción si quieres algo un poco más estricto que Python. Definitivamente es detallado (probablemente también tendrá que acostumbrarse a usar un IDE como Eclipse o IntelliJ), pero impone ciertas reglas como la escritura estática (por ejemplo, int i = 9 vs i = 9) que pueden facilitar la codificación.
  3. Si desea aprender a programar en un nivel inferior (Python y Java generalmente se consideran lenguajes de alto nivel), use C o C ++ . Ambos permiten la administración de memoria y aprenderá mucho sobre cómo se almacenan y manipulan los datos en la memoria.

Lista de lenguajes de programación educativa.

14, poca o ninguna experiencia en programación, los posibles primeros lenguajes de programación instructiva incluyen (pruébelos y vea cuál prefiere):

1.) Squeak (un dialecto de Smalltalk)

Chirrido / Smalltalk

https://docs.google.com/viewer?u … (libro electrónico gratuito “Squeak by Example”)

Squeak in a Nutshell (guía introductoria)

El tutorial en curso de un novato

http://stephane.ducasse.free.fr/ … (Chirrido para hablantes no nativos)

http://stephane.ducasse.free.fr/ … (introducción a Morphic, la interfaz de usuario de Squeak)

introducción a smalltalk

2.) FreeBASIC

Lenguaje FreeBASIC | Casa

DocToc: FBWiki (Manual y tutoriales)

3) Greenfoot (un IDE educativo para aprender Java):

Pie verde

Greenfoot | (tutoriales)

Introducción a Java con Greenfoot (lecciones en línea de Oracle)

https://docs.google.com/viewer?u … (Texto libre, “Resolución de problemas mediante la programación con Greenfoot”)

lecciones de cubierta, lecciones de entrevistas, lecciones de observación, lecciones únicas, lecciones de inspiración (tutorial)

Greenfoot PDF (44 libros PDF) (muchas fuentes)

Libro de texto de Greenfoot – Sr. Hamlin – SD43 (tutorial)

4.) Pascal gratis

Pascal gratuito – Compilador Pascal avanzado de código abierto para Pascal y Object Pascal – Página de inicio

Documentación en línea (manuales y guías gratuitos)

Object Pascal Tutorial

Página de inicio de Lazarus (IDE para Free Pascal)

Documentación de Lazarus (también tutoriales)

Guia de idiomas

Empezando

5) Python

Bienvenido a Python.org

Guía para principiantes – Python Wiki

The Coder’s Apprentice (libro electrónico gratuito para adolescentes y adultos)

Automatice las cosas aburridas con Python (libro electrónico gratuito)

https://inventwithpython.com/ (otros libros electrónicos gratuitos, incluida la creación de juegos)

Doing Math With Python – Descarga gratuita de libros electrónicos

Python Crash Course – Descarga gratuita de libros electrónicos

Curso de Algoritmos y Programación (gratis)

http://www.network-theory.co.uk/… (ebook introductorio gratuito)

Think Python – Green Tea Press (libro electrónico gratuito)

Cómo pensar como un informático (libro electrónico gratuito)

Sumérgete en Python (libro electrónico gratuito)

Programming Python, 4th Edition (libro electrónico gratuito)

A Byte of Python (gratis en línea)

6.) rubí

Lenguaje de programación Ruby

Tutorial de Ruby: prueba Ruby (prueba Ruby en tu navegador)

Ruby en veinte minutos

Aprende Ruby con los Edgecase Ruby Koans

Guía del por qué (conmovedora) de Ruby (novela gráfica)

Tutorial de Ruby: Notas de estudio de Ruby

Ruby Essentials – Techotopia (libro en línea gratuito)

Programación Ruby (libro en línea gratuito)

La guía del programador pragmático (gratis en línea)

7.) Lua

El lenguaje de programación Lua

Programación en Lua (primera edición) (gratis en línea)

Tutorial de Lua

Programación Lua – Wikilibros, libros abiertos para un mundo abierto

Lua Development Tools, un IDE para el lenguaje de programación Lua

http://www.mathrice.org/IMG/pdf_… (guía en línea gratuita)

Use Python , que estaba destinado a parecerse lo más posible al pseudocódigo, además de que realmente funciona y puede hacer MUCHAS cosas con él (juegos, aplicaciones, sitios web, cálculos científicos, etc.).

Ruby podría ser una segunda mejor opción, ya que es bastante similar a Python (en la superficie / para un principiante, al menos), liberando sus manos de manejar sintaxis compleja y permitiéndole enfocarse en las cosas más importantes.

Espero que esto ayude, feliz aprendizaje y codificación!

Lo que sea más rápido y fácil de aprender. El favorito personal de cada persona será diferente. De manera abrumadora, las universidades están utilizando Python o Java como idiomas de enseñanza, por lo que es bueno saber ambos si planeas obtener un título de CS o SE, pero no creo que haga una gran diferencia. Python es probablemente un poco mejor solo para aprender algoritmos porque es multi-paradigma y no te obliga a aprender también POO, pero eso es solo una opinión. Mi primer lenguaje fue C ++, que posiblemente sea la cosa más difícil con la que podrías comenzar, pero lo que sea, funcionó.

Mira algunos tutoriales de idiomas y quédate con lo que sea más rápido para ti. Lo más importante es elegir uno y seguir con él hasta que sea razonablemente bueno en eso. Una vez que hayas hecho eso, aprender otros idiomas será cada vez más fácil.

Hay dos idiomas que recomendaría, y el primero es python.

Python es una súper gran transición del pseudocódigo al uso de un lenguaje de programación porque cuando lo lees, se parece mucho al pseudocódigo. Se hace para una implementación simple.

El segundo idioma que recomendaría sería C. Algunas personas podrían tomar el sol en contra de esto, siendo C uno de los idiomas más antiguos y no bing OOP, pero antes de descartarlo, escuche esto. C puede tener una curva de aprendizaje empinada, no es tan bonita como algunos lenguajes OOP, pero es muy buena para los algoritmos. Estoy estudiando ingeniería de software de pila completa en la Escuela Holberton y tenemos que implementar la mayoría de nuestros algoritmos en C, y generalmente sin la biblioteca estándar. Esto es difícil, no me malinterpretes. Pero si pasa un poco más de tiempo en el front end aprendiendo el idioma, se preparará para el éxito más adelante porque sabrá exactamente qué está haciendo su código bajo el capó.

No busque en ningún otro idioma hasta que conozca Python muy bien. Es fácil de aprender y tiene buenas herramientas gratuitas que puede usar. Puede comenzar con el intérprete de Python, luego escribir scripts en notepad ++, luego usar IDLE y luego usar PyCharm para hacer proyectos más grandes.

Me encantará publicar sus algoritmos. Suscríbete a SageCode (SageCode) y te ayudaré a publicar tu trabajo en Python. Entonces te convertirás en un desarrollador e instructor famoso en mi sitio web.

¡Buena falta!

Para fines de aprendizaje, use Pascal. La mayor parte de su sintaxis es similar al estándar de pseudocódigo. Su estructura de lenguaje y flujo de programación es similar a la mayoría del estándar de pseudocódigo utilizado en todo el mundo, donde hay nombre del programa, variables / diccionario y código del programa. Pascal es un lenguaje imperativo y estructural que te hace comprender lo que estás haciendo y cumplir con el comportamiento del sentido de programación con fines de aprendizaje.

Creo que puedes comenzar a aprender lenguaje de programación y divertirte con él. Solo escribir Pseudocódigo no te dará tanto placer como un lenguaje de programación real.

Puede comenzar con un lenguaje de programación como C o Python . Comencé a aprender C en décimo grado y continúo aprendiendo después de 10 años. Hay mucho que aprender Es mejor comenzar a aprender lo antes posible.

Si los mantiene en pseudocódigo, nunca podrá probar la exactitud de sus algoritmos.

La programación es difícil principalmente porque lo que crees que funciona … no funciona. Así que elige un idioma y traduce todo ese pseudocódigo a un idioma * real * y haz que se ejecute. Te sorprenderá la cantidad de errores que encontrarás.

Bueno, creo que en algún momento querrás ver los algoritmos que estás creando en acción, ¿verdad? Escribir los algoritmos en pseudocódigo es bueno para expresar fácilmente lo que entiende, pero aún así, una vez que lo implemente en una computadora y lo vea en acción, lo comprenderá aún mejor. Creo que puedes aprender Python, ya que es un primer lenguaje informático muy fácil de aprender, y luego tratar de implementar los algoritmos en una computadora usando Python y verlo en acción tú mismo, y definitivamente debería ayudar, creo.

No estoy seguro de cómo planearía probar su pseudocódigo para ver si realmente funcionaría … Supongo que sería una forma de análisis estático, pero eso es extraordinariamente difícil de hacer a mano.

En general, necesita dos cosas para elegir un lenguaje de programación:

  • Debe saber (o aprender) ese idioma, y
  • Debe ser adecuado a la “forma” del problema.

La segunda parte es, en realidad, un poco menos importante mientras aprendes tus primeros idiomas. Quiero decir, generalmente se puede escribir cualquier programa en cualquier idioma (dentro de los límites), pero qué tan bien se puede llegar a la solución (y leerla más tarde, adaptarla, etc.) varía mucho.

Me gusta Python, ya que es una sabia elección manejar algoritmos basados ​​en inglés y similares.