C/Visual C - Duda de un programador que empezo con Java

 
Vista:

Duda de un programador que empezo con Java

Publicado por Clayder (4 intervenciones) el 08/11/2006 00:29:50
Hola a todos

Bueno yo soy un estudinate universitario, que empezó a programar con Java y no conozco lo que es C ni C++, y tengo alguna dudas ya que me he dado cuenta que los sistemas operativos han sido hechos en C aparte de que Java tienes sus bases en C tambien, y ademas de que Java depende de una JVM para compilar y ejecutar sus archivos.

Ya se que en java para usar metodos llamamos a las librerias que estan en un .jar pero como hariamos esto en C, es decir tendriamos que llamar a las librerias del sistema, no?; y si hacemos esto ¿podrian nombrarme alguna librerias del sistema? y que extension tienen ¿.dll?, ¿y en donde estan?, ¿en C++ tambien se pueden crear ventanas como en Java importando librerias? y, ... ademas si alguien pudiera decirme que es un .dll, acaso es un equivalente a un .jar en java?

Bueno disculpen si los aburrí con esto. Lo ultimo que les pediría es ¿como compilar un programa C o C++ en Windows?. porque cada sistema ya tiene su compilador de C incluido, no?

Agradezco el tiempo que se tomaron en leer mi post, y les agradeceré mas si me lo reponden.: )

Muchisimas gracias!!!!!!

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda de un programador que empezo con Java

Publicado por Fran (122 intervenciones) el 08/11/2006 00:51:30
si usas la mier... de windows lo conveniente es que descargues un compilador/interface que venga asi de facil, una q recomiendo si estas acostumbrado a lasinterfaces java es DevC++, aka podes hacer programas C/C++, las librerias te vendran con el programa, q encima compilara y todo.... en esta misma web hay muchos buenos manuales acerca de c, otra opcion es buscar en elrincondelc.com donde hace un referente a todas las librerias y componentes de c/u... si usaras un mejor sist operativo (linux en diversas derivaciones) tendrias paginas del manual para programar, uncompilador hermoso como es gcc (tambien se consigue una version de este para windbost con el nombre de djgpp o algo asi) y muchos editores comodos y completos, asi como la total libertad de vr el contenido del sistema... espero q te sea util
abrazos

p/d: gente programadora! dejen de usar windows, va contra todos los principios de la programacion!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda de un programador que empezo con Java

Publicado por Clayder (4 intervenciones) el 08/11/2006 01:43:47
No te preocupes que a mi no me gusta Windows mas que a ti. Y por eso ya instale Linux Unbuntu en mi PC. Solo usaba Windows ya que no tengo acceso a internet desde Linux(por el momento).

Ahora si espero seguir los principios de la programacion.: )

Nos vemos.

Saludos.

P.D. Mas bien te agradeceríai me recomendaras un buen libro o tutorial sobre Linux.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda de un programador que empezo con Java

Publicado por Tom (17 intervenciones) el 08/11/2006 11:38:14
La mayoría de compiladores de C no necesitan que los ficheros tengan una extensión determinada, sino que tengan un formato interno determinado. En general, los ficheros .dll (librerías de carga dinámica) sólo se usan en Window$.
En los unixes y variantes, normalmente se utilizan ficheros con extensión .so para carga dinámica (formato ELF) y ficheros con extensión .a para carga estática.

De cualquier manera, estas librerías son colecciones de ficheros objeto, es decir, partes de código ejecutable (casi) que aún no tienen resueltos los enlaces de memoria.

Estas librerías pueden estar en cualquier sitio. Cuando invocas al "linker" tras compilar tu programa, le dices dónde debe buscarlas, aunque por defecto se suelen buscar en directorios como "/lib", "/usr/lib" (además, hablando de Unixes si linkas dinámicamente, al ejecutar tu programa también debes especificar dónde están las librerías, para facilitar eso se usa la variable LD_LIBRARY_PATH).

Por ejemplo, compilarás y linkarás así (o muy parecido, no lo tomes al pie de la letra):

gcc -o miProg main.c funciones.c utils.c -Bdinamyc -L/mis_librerias/ milibrería.so

y, al intentar ejecutar, LD_LIBRARY_PATH debería ser algo cómo:
LD_LIBRARY_PATH=/usr/local/lib/:/opt/lib:/mis_librerias

Por lo demás, en C y C++ puedes hacer cualquier cosa que sepas hacer, son lenguajes mucho más flexibles (por lo tanto, complicados) que Java. Y tu caso concreto, chico, incluso con Perl puedes hacer interfaces gráficos (ventanitas).

Necesitas saber más sobre programación, en general, para comprender este tipo de fundamentos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda de un programador que empezo con Java

Publicado por Clayder (4 intervenciones) el 08/11/2006 16:19:23
Hola:

Quisiera ver si me podrias recomendar un libro con los "fundamentos de la programacion" que me faltan, no tiene que ser gratis necesariamente, es decir yo ya veré lo que hago para conseguir material de estudio.

Muchas gracias por tomarte tu tiempo leyendo mi mensaje.

Nos vemos

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda de un programador que empezo con Java

Publicado por Fran (122 intervenciones) el 10/11/2006 00:57:23
Disculpa por el mensaje anterior, estaba en un dia estresado. Linux ubuntu es un excelente sistema (es el que yo uso)
Te recomiendo que busques mucho sobre algoritmos, quizas algunos autores interesantes sean Knuth y Dijkstra, padres de la ciencia de la computacion, Libros no se bien, hay muchos, solo busca estos autores y encontraras informacion seguramente. Lo que dijo el que respondio sobre los fundamentos de la programacion seguro no sabe mas q vos o yo, pero weno, es asi. Programar en C es mucho mas facil que Java ais que no te preocupes. En cuanto a linux, la pagina de ubuntu es una excelente guia para entender su funcionamiento. Tambien hay numero sinfin de manuales de linux en la red, solo busca en google.com/linux y hallaras.
espero quehalles lo que buscas
buena suerte y disculpas por ese mensaje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda de un programador que empezo con Java

Publicado por Tom (27 intervenciones) el 10/11/2006 12:50:37
Lo siento, Fran, pero creo que tras más o menos 20 años de vivir de la programación y de la administración de sistemas Unix _sí_ sé un poquito más que vosotros dos, aunque sólo sea de algunos temas en concreto.

Y está claro, que si tienes dudas sobre lo que es una librería o una librería de carga dinámica te falta un poquitín (no es necesario saberlo todo acerca de este tipo de ficheros pero sí, al menos, saber qué son para poder manejarlos). Y, si vas a programar en Linux, lo primero (y aquí no hay concesiones) es conocer el S.O. - más aún si vienes de Win-.

Programar en C es muy fácil (yo aprendí con un manual de un compilador, escrito en alemán y ni siquiera hablo inglés). Programar _bien_ en C es complicado porque, en general, requiere otro tipo de conocimientos aparte del puro lenguaje. Mucha gente tiene grandes problemas con los punteros y los parámetros de funciones en C, porque no tienen claro cómo funciona la memoria interna de un equipo (hay que saberlo, a grandes rasgos) ni cómo funciona básicamente la "pila de programa" (el stack de toda la vida).

No pretendía menospreciar, sólo incidir en la idea de que son necesarios más conceptos de los que Clayder, aparentemente, tiene. Y, es casi imposible que encuentre un libro que hable de estos temas porque pertenecen a campos ligeramente distintos. La solución es buscar información sobre conceptos concretos, ir tirando del hilo y enlazando hasta conseguir lo que necesitas (el resto lo da la práctica).

Mira, tras una búsqueda rápida (el tiempo no me sobra) he encontrado algo en castellano:

http://garota.fismat.umich.mx/mn1/manual/manual.html

De este tipo de tutoriales o manuales suelen surgir dudas o datos sólo indicados que son un buen punto de partida para empezar a buscar.

Salud!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar