A punto de iniciarme en el mundo de la programación y los celulares..

Iniciado por TheEGG 89, 27 Enero 2013, 19:57 PM

0 Miembros y 1 Visitante están viendo este tema.

TheEGG 89

Hola a todos, ¿como están?
Hace meses que me tiene curioso el mundo de la programación, mas precisamente de los teléfonos celulares.

Me gustaría saber como comenzar a programar mis propios S.O. (para celulares), necesito alguna guía (en pasos generales) para programar desde los mas mínimo hasta el diseño de una agenda de contactos.

¿Sugerencias de lenguajes, programas, etc? Agradezco enormemente cualquier ayuda.

¡¡Saludos amigos!! :-D

0xDani

Si no sabes nada de programacion entonces deja hacer tu propio SO en la cola de largo plazo...

Se suele empezar por C, pero busca una lista de lenguajes de programacion, informate sobre ellos y elige el que mas te mole.

Lo fundamental es que sepas para que quieres el lenguaje.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

TheEGG 89

Aclaro que solo me itneresa estar en el mundo de la programación a nivel celulares :)

streetthief

Creo que tu solicitud esta muy alejada de tener una respuesta concreta, lo que pides es demasiado especifico, una guia para la creacion de un S.O. para celulares?

Quizas deberias comenzar primero por lo que concierne a la programacion, por lo que veo no tienes ni la mas minima idea de lo que se trata, pero tratare de explicar un poco mas haber si mi respuesta te ayuda en algo, y si no pues nimodo :D

Para programar un sistema operativo para telefonos moviles primeramente tienes que saber para que plataforma estas realizando tu sistema operativo, en terminos simples pues que marca de telefono y pues que capacidades tiene este mismo. La mayoia de los celulares en la actualidad ( a excepcion del iphone) utilizan sistemas operativos basados en JAVA, asi que quizas aprender JAVA sera tu luz en el camino. El sistema operativo Android esta basado en parte JAVA, C/C++. Las generaciones anteriores de celulares, antes de los universos actuales de Android y iOS tambien estaban basados casi en su totalidad en JAVA, JAVA es un lenguaje de programacion que se utiliza para una infinidad de dispositivos desde refrigeradores hasta automoviles. El iPhone utiliza iOS el cual esta desarrollado en Objective-C, C/C++.

Pero pues pa resumir un poco esto, seria bueno que aprendas C/C++, JAVA y mucho sobre lenguaje ensamblador.

Pero si retrocedemos un poco, antes de aprender los lenguajes de programacion tienes que aprender a programar, OJO con esto, programar no tiene nada que ver con los lenguajes, pa que me entiendas, imaginate que compras un carro, sin saber manejar!! Primero tienes que enseñarte a manejar, y haz de cuenta que los lenguajes de programacion son como las marcas de carros, de que te puede servir andar por ahi subiendote a Hyundys, Fords y Chevys sin que sepas manejar.

Aprender a programar significa que comprendes los terminos de diseñar un programa, codificarlo, depurarlo y mantener el codigo fuente, el lenguaje de programacion unicamente es el medio. El proceso de programar requiere una logica formal, el analisis del problema planteado. Y pues en esto de la programacion existen algunos terminos clave que te puede servir si los investigas primero, como son algoritmos, pseudocodigo, depuracion, lenguaje de programacion, tecnicas de programacion, compilacion, etc etc etc

Asi que si de verdad quieres aprender programacion, pues busca libros sobre metodologia de programacion, algoritmica, diseño de software, etc. No caigas en esos supuestos "Tutorial de C++ para prncipiantes", "Aprende C++ desde 0". No te sirven para nada, y desde ahora te digo que no existe un lenguaje de programacion mejor que otro, cada uno tiene su uso y aplicacion, dependiendo cuales son tus necesidades es el lenguaje que mas te acomoda. Y de todas formas, todos los lenguajes solo son como un interprete, la computadora no lee instrucciones como COUT(), PRINTF() o realiza operaciones como A=A++;, NO! la computadora solo reconoce codigo binario, y al nivel mas bajo que podrias comprenderlo es en lenguaje ensamblador, es el mas legible pienso yo, la computadora solo ve los registros de la memoria, y el procesador tiene un juego codigos de maquina como MOV, INT, JMP que van procesando los registros en la memoria, leen y mueven estos registros segun como lo dicte el programa, y si nos vamos un poco mas abajo pues tecnicamente el procesador solo puede trabaja con puros 1 y 0.

Y a lo mejor ya me fui muy lejos, pero pues aun tendrias que caminar mas para llegar a desarrollar un sistema operativo, tienes que comprender a la perfeccion como funciona el hardware,  para que puedas desarrollar un software que pueda utilizar todo su potencial, y ciertamente has de estar muy lejos todavia de eso.

Pero bueno, xD espero haberte ayudado en algo, no creas que soy un experto de todo esto, ni tampoco soy Dios y lo se todo, no escribi todo eso para presumirte que yo se mucho, o que se mas que tu, solo trato de darte un consejo antes de empezar. No soy ni ingeniero de software, ni programador con mas de 10 años de experiencia, ni desarrollador de aplicaciones moviles para iOS, solo soy un usuario promedio de internet que comete errores de ortografia, y que no respeta reglas de redaccion.... que trabaja de plomero por las mañanas, y en las tardes en un estacionamiento publico.\\\\ hahaha

xD

ABDERRAMAH

Sólo un detalle:
CitarDalvik != Java
Pero se parecen, si, a saco.

Yidu

Cita de: streetthief en 29 Enero 2013, 07:34 AM
No caigas en esos supuestos "Tutorial de C++ para prncipiantes", "Aprende C++ desde 0". No te sirven para nada

Sabio consejo. Ya que en eso caemos la mayoría. Nos vamos a un gran centro comercial a la sección de libros y buscamos eso: Aprenda a programar durante la siesta. O cosas así. Y caemos como moscas. Lo suyo es un buen libro que fundamente todo eso. Un libro que enseñe a programar al margen del lenguaje escogido.

TheEGG 89

¡¡Muchisimas gracias por responder!! en verdad que me ha servido de mucho, igual no quiero centrar todo en un S.O. lo ideal (a mi parecer) sería por comensar con aplicaciones "básicas" un Reproductor MP3 (para celulares XD) en JAVA, por ejemplo.
Lo del S.O. es un proyecto que tengo a largo plazo (6 años quizás, aunque uno nunca sabe :P )

¿Lo del reproductor es mas simple, cierto? :P

PD: Buen detalle el de no caer en los cursos "Desde Cero" ;)

streetthief

Ciertamente, un reproductor MP3 es mucho mas simple que un S.O. Busca en internet, hay muchos sitios con codigos de ejemplo, ahi puedes comenzar a ver como funcionan los programas desde adentro.

Lo mas facil para iniciar a programar en moviles es Android, los SDK son gratuitos y muy facil de conseguir. Primero consigue el SDK de Java, luego descargas el Eclipse mas el plugin ADT(Android Development Tools) y el SDK de Android, te encontraras que el ADT para eclipse ya incluye un emulador virtual de Android, que te permite probar tus aplicaciones sin neceisdad de un dispositivo Android es muy conveniente :D 

Igual puedes conseguir un telefono Android para comenzar a probar tus aplicaciones.

Y no es que sea fanatic de Android, pero es lo mas barato y de facil acceso, si tienes un Mac y iPhone pues consigue entonces xCode y una cuenta de desarrollador, pero pos ahi vas a tener que soltar el billete :p