Go Back   Champions of Regnum > Español > La Taberna

La Taberna Un lugar para conversar sobre casi cualquier tema

Reply
 
Thread Tools Display Modes
Old 11-14-2008, 11:14 PM   #1
JoM
Pledge
 
JoM's Avatar
 
Join Date: Oct 2007
Posts: 8
JoM is an unknown quantity at this point
Default 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 ^^.
JoM no ha iniciado sesión   Reply With Quote
Old 11-14-2008, 11:42 PM   #2
pescaupintau
Marquis
 
pescaupintau's Avatar
 
Join Date: Oct 2006
Location: no se pudo establecar conexión con el servidor
Posts: 2,057
pescaupintau is a jewel in the roughpescaupintau is a jewel in the roughpescaupintau is a jewel in the rough
Default

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
pescaupintau no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 01:24 AM   #3
arlick
Duke
 
arlick's Avatar
 
Join Date: Jan 2007
Posts: 3,939
arlick is a jewel in the rougharlick is a jewel in the rougharlick is a jewel in the rough
Default

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
arlick no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 01:37 AM   #4
urgit
Baron
 
urgit's Avatar
 
Join Date: Mar 2007
Posts: 999
urgit will become famous soon enough
Default

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
urgit no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 04:45 AM   #5
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default

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.
ArcticWolf no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 12:22 PM   #6
JoM
Pledge
 
JoM's Avatar
 
Join Date: Oct 2007
Posts: 8
JoM is an unknown quantity at this point
Default

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.
JoM no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 03:10 PM   #7
pescaupintau
Marquis
 
pescaupintau's Avatar
 
Join Date: Oct 2006
Location: no se pudo establecar conexión con el servidor
Posts: 2,057
pescaupintau is a jewel in the roughpescaupintau is a jewel in the roughpescaupintau is a jewel in the rough
Default

Quote:
Originally Posted by JoM
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.)
jo! va a ser como pasar de neolengua a un idioma actual

Quote:
...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?.
si a ambas. Hay algunas cosas que se hacen en un solo lenguaje y otras que manejan varios.
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
pescaupintau no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 04:04 PM   #8
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default

Quote:
Originally Posted by cobosaurio
Lamento leer que la materia en la que tenés que utilizar el lenguaje C desde sus bases sea de Facultad. El lenguaje se aprende normalmente el un secundario industrial en 3er o 4to año, y no difiere en cuanto a la forma de pensar su programación con respecto a otros lenguajes básicos como, este... Basic, Pascal, etc.
Yo fui a un secundario con orientación en sistemas y apenas vimos algo de java, olvidate SQL y el resto... ¡La mayoría lo aprendí solo y por vicioso! En un técnico (mi viejo trabaja en uno) es medio difícil que te enseñen más que los fundamentos.

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.
ArcticWolf no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 04:07 PM   #9
urgit
Baron
 
urgit's Avatar
 
Join Date: Mar 2007
Posts: 999
urgit will become famous soon enough
Default

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
urgit no ha iniciado sesión   Reply With Quote
Old 11-15-2008, 04:13 PM   #10
ArcticWolf
Duke
 
ArcticWolf's Avatar
 
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
ArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of lightArcticWolf is a glorious beacon of light
Default

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.
ArcticWolf no ha iniciado sesión   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:25 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
NGD Studios 2002-2024 © All rights reserved