Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - pucheto

#151
Citar
Java  lo enseñan en las universidades por que las empresas viejas necesitan programadores javeros para renovar sus programas y  es mas barato modificarlo que crear uno nuevo.
C# y VB.net no? m...

Citar
Java es muuuuuuuuuy tedioso en plan llaves y cosas de esas..
Y al fin y al cabo ¿que es java?
Y q es java al fin y al cabo? llaves? C++ y C no son tediosos en el tema de llaves? aca estas recomendando python y haskell q no usan llaves?

CitarLo bueno es C y C++ que son casi clones
C++ se puede decir q es una extensión de C, pero ser clones es ser equivalentes y no es asi...

Citar
Yo estoy aprendiendo Visual Basic.net
¿Que es vb.net o C#.net?
Super lenguajes de programacion  faciles y rapidos de programar, puedes programar cosas muy rapidamente y facil de depurar.
Lo malo es que es lento, por que  no es codigo administrado.
Justamente ES codigo administrado, tiene casi las mismas pros y contras q Java (aunque tengan sus diferencias) respecto de C y C++...

Citar
Aqui entra en juego C o C++
Son lenguajes No administrados, usease tienes que encargarte tu de escribir y liberar memoria, pero es muuuuy rapido comparado con .net.
Tambien tenes acceso directo al hardware (con las restricciones q te ponga el sistema operativo).

Citar
Solucion = Fusion
Desde .net puedes llamar a tus .dll creadas en C o  C++
Usease, si quieres hacer 5 tonterias, pues las haces en  .net y si quieres hacer algo que consume mucho, pues lo haces en C o C++
Tambien se puede hacer esto en Java o en Python o en Ruby o en Lua o en Perl o en PHP o en D o en Haskell o en Smalltalk o en casi todos los lenguajes de programacion... La gran mayoria de los lenguajes de programacion exponen un API de C... y existen sus wrapers para C++...

Citar
Conclusion ¿Para que sirve java? Si puedes conbinar C y C++  que son lenguajes mas rapidos y pontentes que Java con .net que es facil y rapido de programar.
y para que sirve .net? si podes combinar Python con C++? y Java no es mucho mas complicado q C#...

Citar
Linux esta programado en C windows en C  y asm, conclusion C es mejor que Java y .net es mas rapido que java y C usease coges los 2 extremos rapidez y velocidad, pero bueno .net no es tan lentooo, simplemente que cosas pesadas, pues las haces en C o C++
Linux y windows y la gran mayoria de los sistemas operativos estan programados en C y asm (lo minimo posible asi es mas facil portarlo a otras arquitecturas)... pero eso no implica q C sea mejor q java, son 2 lenguajes diseñados para cosas distintas...

Tenes muy arriba a todo .NET y opinas cualquier cosa, ademas apenas se te puede entender q escribís...
#152
CitarGracias por la respuesta. De echo, lo que me tira un poco para atras (en JAVA y C) es el tema de los corchetes, llaves y espacios en los codigos fuente. El Python me recuerda mas al Basic y lenguajes estructurados.
No te creas, el tema de los corchetes te acostumbras enseguida y son mucho mas claros que lo que pensas. En general el que puede llegar a hacer desastres con los corchetes es un programador desprolijo. Si uno tabula bien el codigo, comenta y es ordenado como declara las variables y en los nombres que usa, no es mucho mas complicado leer el codigo en C que en python.

CitarHaces referencia que el JAVA no puede llegar a donde llega el C ¿Eso quiere decir que JAVA no puede hacer todo tipos de programas como C? Es decir, no puede hacer videojuegos o sistemas operativos ¿El JAVA es solo para crear programas de gestion, webs y cosas de ese estilo?
El tema que tiene C y C++ sobre Java, es la posibilidad de acceder a los recursos de bajo nivel de manera directa, o de usar "inline assembly" en el medio del codigo. Podes hacer mejoras de performance como alinear bien la memoria, usar registros xmm y un monton de cosas de bajo nivel de las que en java no tendrias manejo (por lo menos directamente). Otro tema es, que si vas a seguir de carrera ingenieria en informatica o licenciatura en ciencias de la computacion, C++ suele ser el lenguaje base, porque sirve para todo, desde las materias de sistemas operativos, bases de datos (armarlas, no conectarse una base de datos), redes, y materias basicas como algoritmos y estructuras de datos...

Experiencia mia: Yo tuve compañeros en la facultad que programaban (y trabajaban y vivian de eso) en Java desde hacia años, y yo que no trabaje nunca, y aprendi C++ de libros (TUTORIALES NO! LIBROS SI!) , no tube ningun problema cuando llegaba la parte de implementacion de los tps, en cambio ellos tenian perdidas de memoria, y "Segmentation faults" por no saber manejarla bien, por no entender bien los ciclos de vida de las variables y por no tener un buen conocimiento de punteros, debido a q Java se encarga de todo eso por su cuenta.

CitarLo que me atrae del Python es que va al grano y es directo. Me fastidia tener que poner tanta sintaxis, corchetes, llaves y tabulaciones para escribir una misera palabra en la pantalla.
Python lo q tiene de lindo (para mi) es q te obliga a tabular (haciendo el codigo de los principiantes un poco mas legible), y es muy practico y rapido para crear scripts interesantes. Ademas tiene una libreria estandard GIGANTE! donde tenes desde RPC, Sockets, Serializacion, Threads, Base64, Zlib, y cosas de las que en C++ o buscas una libreria de terceros o lo programa uno a mano. (y ademas es portable el codigo y no depende del SO en general)

CitarEl echo de decidirme por JAVA es por que hay mas videotutoriales en la red y bastante mas documentacion (comparado con Python).  Pero para mi, resulta mas compresible el lenguaje Py que el JAVA. O al menos interpretar un codigo fuente.
De python tambien hay muchisimo, pero lo mejor de todo, no son los videos tutoriales, lo mejor son los libros.. imprimirse uno y leerlo... La idea del tutorial no es enseñar un lenguaje de programacion, sino la de dar una breve introduccion, no suelen profundizar mucho en algunos temas que mas adelante se vuelven importantes... Ademas los libros de introduccion suelen explicar también como hacer el debugging y te enseñan a manejar algun IDE en particular.


PD: en mi facultad (estudio licenciatura en ciencias de la computacion en la universidad de buenos aires), en la primer materia de programacion, uno ve un lenguaje de especificacion (medio flojo es, es pura logica de primer orden), un lenguaje funcional (HASKELL TE AMO) y un lenguaje imperativo (C++), todo en 4 meses y da un TP de cada uno. De esos ultimos 2 lo que mas rescato es q haskell te enseña a hacer funciones recursivas eficientes y enfermas, y que C++ me sirvió para todo (y sabiendo bien C++ no es muy dificil programar en cualquier otro lenguaje imperativo!, el paradigma funcional es otro mundo).
#153
El tema de tratar a un lenguaje como lento es muy rebuscado... No interesa que el programa sea rapido o lento, sino que sea, "suficientemente rapido para" realizar cierta tarea...

Para la gran mayoria de las tareas comunes q te vas a encontrar, java si va a ser mas lento que ( un codigo decente ) de C o C++... pero va a ser mas rapido que otros lenguajes, por ejemplo un python interpretado... y va a ser suficientemente rapido como para tener un programa hecho en java que funcione bien y cumpla su objetivo en un tiempo adecuado.

Otro tema a tener en cuenta es la facilidad de programacion y mantenimiento, de poco me sirve programar un script en C en 3 horas, que en python por ejemplo uno lo hace en 40 minutos...
C esta muy bueno para realizar codigo y funciones que hagan un uso intensivo de CPU.

Otro tema es que el bytecode de java no lo tenes q recompilar cuando cambias de plataforma... y el codigo de C++ si...

Como lenguaje para aprender, depende, JAVA o PYTHON ( el q mas me gusta recomendar ) si vas a programar como hobby, cosas simples... en cambio eligiria C++ si va a ser tu carrera a seguir ( en especial por el tema punteros, en general suele dar un poco de panico cuando uno no los entiende bien, pero despues resultan naturales y hasta se los extraña si no los tenes; y por el manejo de memoria manual no administrado; estos temas suelen ser bastante complicados de entender y acostumbrarse rapido para el programador que no lo sufrio nunca por programar en java por ejemplo ).
#154
Programación C/C++ / Re: Alternativa a pow? [c]
11 Diciembre 2010, 15:25 PM
Ahi ghastlyX te canto la posta...
Si es para float o double, usa el pow de math.h q lo hace en un par de lineas de assembly ( creo q son 3 o 4 instrucciones nada mas, sin ningun ciclo ).
#155
Recomendacion, no trates de abarcar tanto... elegi 1 lenguaje y aprendelo bien, no trates de aprender 3 al mismo tiempo... Tampoco creas q saber muchos lenguajes se saber programar, para saber programar tenes q aprender buena parte de la teoria (Algoritmos, tecnicas de programacion, buen diseño de estructuras de datos, etc...).
#156
Programación C/C++ / Re: ¿como se envia mail?
5 Diciembre 2010, 02:26 AM
Buscate alguna libreria de SMTP o POP... por sockets a secas puede ser bastante complicado...
#157
Programación General / Re: Ayuda con Arboles AVL
4 Diciembre 2010, 04:18 AM
Hablas de una duda pero nunca mencionas cual... y su podes, explica mejor, no todo en un parrafo... sino poniendo item por item para q se entienda la situacion... y el AVL por ejemplo, q tiene q ver aca? pq por lo q veo tu problema no pasa por el AVL...
#158
Programación General / Re: Duda de conceptos
4 Diciembre 2010, 04:14 AM
No siempre convienen para lo mismo, pero sirven para lo mismo...
por ejemplo:

Citar
while(!list.empty()){
//hago cosas
}

con un for quedaria:
Citar
for(;!list.empty(); ){
//hago cosas
}

El for queda elegante cuando tenes un iterador sobre algo o un rango...
#159
Podes usar pipes si lo muestra en la salida standard al resultado...
Desde la consola:
programa >> salida.txt
#160
Scripting / Re: [Python] - ¿Es primo?
2 Diciembre 2010, 03:05 AM
Código (python) [Seleccionar]

import math

def esPrimo_n(n,prims):
sq = math.sqrt(n)
for i in prims:
if i > sq: return True
if n%i == 0: return False
return True

def esPrimo(n):
prims = [2]
for i in xrange(3,n+1,2):
if esPrimo_n(i,prims):
prims += [i]
return prims[len(prims)-1]==n