|
|
La Taberna Un lugar para conversar sobre casi cualquier tema |
|
Thread Tools | Display Modes |
11-14-2008, 11:14 PM | #1 |
Pledge
Join Date: Oct 2007
Posts: 8
|
Programación en C
Hola, empiezo a elevarme en una capa de abstracción ^^ paso de assembly a C !!!
Perooooo que ca%3*&& que el compilador TURBO C, me siento en cavernícola usándolo (no me malinterpreten, respeto al borland por lo que fue en su momento). Me dijeron que existe una versión paga sacada para win? Vale la pena? O conocen algún entorno para programar un poco más amigable y bueno que tenga sus debidas herramientas de compilación. A bajo nivel, C sigue teniendo uso? O ya fue reemplazado por algo mas “divertido”. Estuve tan cerrado en un lenguaje del estilo assembly y ahora que estoy tratando de entender cómo funcionan las cosas en otra capa, se me está haciendo un quilombo en la cabeza ^^. |
11-14-2008, 11:42 PM | #2 |
Marquis
Join Date: Oct 2006
Location: no se pudo establecar conexión con el servidor
Posts: 2,057
|
hace varios años preparé un cd con soft libre para windows, y había puesto un entorno de desarrollo para C (usando gcc)
http://www.delorie.com/djgpp/ fijate en la documentación de ese sitio sobre como descargar y usar, era bastante completo. Y C sigue siendo usado para cosas en que otros lenguajes todavía no tienen sentido, como hacer sistemas operativos, así que no te preocupes, hay C para rato
__________________
in theCopyleft—all rights reversed |
11-15-2008, 01:24 AM | #3 |
Duke
Join Date: Jan 2007
Posts: 3,939
|
Yo diría que depende de lo que te interese. ¿Quieres aprender las bases de forma sencilla? ¿Meterte con C por alguna razón especial? Si solo mencionaste C porque no conoces muchos más te aconsejo python :P
Puedes hacer de todo, una sintaxis muy limpia y muy fácil para aprender rápidamente a programar usando lenguajes estructurados. Si quieres aprender un lenguaje que te sirva para hacer kernels, drivers... entonces usa c/c++ Pero de verdad que actualmente no es el más recomendado si solo quieres hacerte una primera idea de lo que es ese tipo de programación. Todo esto que digo no significa que python sea más potente, nada más lejos!! Por ejemplo con python es mucho más fácil hacer interfaces de lo que puede llegar a ser con c, prácticamente cualquier cosa es más fácil.
__________________
"Nunca un científico ha quemado a un religioso por afirmar a Dios sin pruebas". Manuel Toharia "uno empieza a darse cuenta que eso de no hacer ejercicio, comer y beber como si fuese la ultima cena y mantener la figura ya no existe...". Maryan |
11-15-2008, 01:37 AM | #4 |
Baron
Join Date: Mar 2007
Posts: 999
|
Busca Dev-Cpp usa gcc como compilador y trae un entorno relativamente amigable con resaltado de sintaxis, con todos los procesos automatizados y con depurador. Actualmente es el que utilizamos en mi facultad, aunque estamos discutiendo alternativas para buscar alguna mejor.
__________________
Syrtis :: Leirbag tigru - Cazador 50 **** urgit - Conjurador 50 **** sir leirbag - Bárbaro 50 **** Eddard - Caballero 37 **** Alsius :: leir - Tirador 50 **** Ignis :: Vincent Law - Brujo 38
|
11-15-2008, 04:45 AM | #5 |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
JoM tiene programación C como una materia del programa de la carrera que estudia, Arlick. Según el poco conocimiento que tengo en su área, sé que C se utiliza ampliamente.
En otras palabras, creo que a C lo vas a ver hasta en la sopa. Con respecto a otros lenguajes de bajo nivel, sólo asm y C son los que yo conozco. Básicamente son estándares de facto por su efectividad, y dado a que hacen tan bien el trabajo (sumado a que nadie quiere migrar millones de líneas de código viejo) no creo que sea reemplazado hasta dentro de bastante. Cada lenguaje tiene sus pros y sus contras, junto a características que lo hacen específico para un trabajo. C no será lo más fácil de emplear para programar un widget o un pop-up en un programa, pero es casi obligatorio en un kernel (salvo que seas tan loco como los de MenuetOS y lo hagas en puro asm). Otra cuestión es cómo lo vas a emplear, y qué cantidad de código vayas a escribir. Para el nivel al que lo vas a aplicar tal vez no sea necesario que sigas diagramas UML (aunque es muy recomendable), y te podés guiar por diagramas de flujo para el diseño.
__________________
I don't have a solution, but I admire the problem. |
11-15-2008, 12:22 PM | #6 |
Pledge
Join Date: Oct 2007
Posts: 8
|
Gracias Xeph por aclarar.
Tengo que usar C para una materia de la facultad y después para aplicarlo en todas, estoy estudiando ingeniería en electrónica ^^. (Por eso arranque diciendo que paso a un nivel de abstracción, para mi Asm es todooooo !! Jeje toda mi vida programando en asm.) Por eso mi primera pregunta fue si conocían algún otro compilador/depurador que no sea el Turbo C, porque ......bueno ya dije porque. (Gracias leir voy a buscar ese =), el clan siempre ayudando ) La segunda parte, es que estoy pasando por la época que quiero saber cómo funcionan algunas cosas que antes no me importaban ( informática =P, pasar del bajo a alto es como vivir toda tu vida en un cuarto de 3 x 3 pero con todo y de repente te sacan afuera), y al ver tanta cantidad de lenguajes de programación……. te volves medio . Ahora bien, un lenguaje para aplicaciones y demás es python como me dijeron (woah lo usa la NASA ^^), lo voy ver cuando tenga más tiempo pero no está dentro de mi focalización o mi sentido de la programación. (Aunque me re interese =) ) Otra cosa, un soft importante (véase cualquier programa que tengas y/o juegos) está programado en muchos lenguajes? O se puede realizar toda una aplicación con un solo lenguaje?. PD: Para cuando se viene un proyecto de programación? ^^ Offtopic: No entiendo cómo funciona el swapping grrr. |
11-15-2008, 03:10 PM | #7 | ||
Marquis
Join Date: Oct 2006
Location: no se pudo establecar conexión con el servidor
Posts: 2,057
|
Quote:
Quote:
El ejemplo típico de algo que se haya hecho en mas de un lenguaje es casi cualquier sistema a medida: SQL (para las bases de datos) + otro lenguaje (para manejar el resto de las cosas)
__________________
in theCopyleft—all rights reversed |
||
11-15-2008, 04:04 PM | #8 | |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
A mi modo de ver, "programar" no es saber C, ASM o Java, sino que comprender cómo llevar a cabo una tarea utilizando la lógica, luego aplicarle un paradigma y al final emplear el lenguaje que más bondades tenga. Uno puede aprender en C, en Java, en Python o en Pascal que al final termina siendo lo mismo (si aprende bien, y en realidad debería ver todos). Para aprender a manejar cosas en alto nivel de una manera sencilla y potente podés empezar con Python. Las pocas veces que lo usé (modificar una aplicación) sentí que podía hacer cualquier cosa con un par de líneas. Es muy fácil y completo. Siempre hay cosas que sirven para todos los lenguajes y conforman las "buenas costumbres", tales como identar (separar con tabs o espacios el inicio de un bloque del borde), declarar las variables al principio, comentar el uso de una función o método, usar nombres de variables descriptivos, usar la menor cantidad de loops (do, while, for) y bloques "if" posibles y hacer el código lo más genérico posible. Ahora, con respecto a las aplicaciones: El Regnum está programado en ASM, C++, Lua y si no me equivoco incluye algo de SQL en el servidor. Casi todos los juegos tienen una mezcla entre el lenguaje del motor, el de la interfaz y el del contenido (generalmente scripts). Se puede hacer TODO en un único lenguaje, pero sería una pesadilla :P
__________________
I don't have a solution, but I admire the problem. |
|
11-15-2008, 04:07 PM | #9 |
Baron
Join Date: Mar 2007
Posts: 999
|
La programación es relativamente sencilla: una vez que aprender un lenguaje de una determinada metodología (imperativa en tu caso) es sencillo pasar a otro lenguaje es sencillo (salvo excepciones como lenguajes tipo lisp). De hecho yo soy de los que defienden que para aprender a programar hay que utilizar pseudo-código y no un lenguaje concreto.
Aunque programar en ensamblador y en un lenguaje imperativo es diferente no creo que tengas dificultades. La sintaxis de C es muy sencilla aunque este lenguaje tiene demasiadas "peculiaridades" que quizás no lo hacen ser el más metodológico para aprender, pero si que es muy utilizado en ambientes técnicos. Bueno a lo que iba que me enrollo, busca en google "aprenda lenguaje Ansi c como si estuviera en primero" es un pequeño libro gratuito que da una introducción básica a C y puede servirte como primer acercamiento.
__________________
Syrtis :: Leirbag tigru - Cazador 50 **** urgit - Conjurador 50 **** sir leirbag - Bárbaro 50 **** Eddard - Caballero 37 **** Alsius :: leir - Tirador 50 **** Ignis :: Vincent Law - Brujo 38
|
11-15-2008, 04:13 PM | #10 |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Jajaja, como dice Urgit, bajate ese libro. ¡Creo que todos lo leímos alguna vez! Yo me mareé con el tema de los punteros.
Lisp es un lenguaje declarativo, y Haskell funcional. C es imperativo, y C++ orientado a objetos. Con eso cubrís casi todo lo necesario para aprender cualquier otro lenguaje. Lo más importante es que vos tenés un profesor, y el resto lo vas a ganar con experiencia. ==OFFTOPIC== Sostengo mi idea de que Python debería enseñarse en todos los colegios con orientación informática o electrónica.
__________________
I don't have a solution, but I admire the problem. |
|
|