Pick one? Or pick them all?

Okay so im 17, and very very eager to throw myself into the development world. That being said, I find myself dipping my pen in every bucket of paint there is(Java, Python, C++, C#, Windows Phone 7 App Development..you name it). However i have yet to have a strong foundation to master any of these...question is...

Is it best to pick one and get very comfortable with it? Or to establish a basic understanding of many for the sake of easy transferring more fluently between languages??
If you have no experience with programming at all you should read programming for dummies( its a short read, maybe 5 hours? ). It pretty much just goes over programming fundamentals that most languages use like loops, control statements, variables, constants, arrays, and sorting algorithms( I would just suggest you ignore everything about liberty Basic ). From there you could go with whatever you want i guess. Your on cplusplus.com so obviously im going to be baised and choose c++ lol but just choose what you need for what you want to do

EDIT: to answer the title, pick 1. if you need to learn more when your done go ahead but its best to do one at a time
Last edited on
well ive got 2 years of programming experience. And a good handle on simple functional programming in Java, Python, and C++. And im moving into OOP in those languages. but often times it gets complicated switching between the three. And i feel that i should just pick one and "master" it....however i dont wanna leave the other languages behind.

Oh and im reading C++ for Dummies...very very helpful
I think you should get comfortable with the use your going need to need most. Idk what you want to do for a living, but whether you want to make games or make phone apps or whatever then thats what you should focus on.

But I'm only 14 though not even in highschool, so i wouldnt really know about making livings lol.
lol yeah i just graduated. And its about time to choose. I wanna do Application Development, or UI Development...not much of an interest in game development to be honest. So what would you suggest? Practice Application development, or just continue "mastering" the languages
I dont see a point in mastering the languages just for the sake of mastering them. So if you wanna do Application Development, practice that!

"Writers write. If you want to be a writer, write! " - IDontRememberLol
ahhhh thank you so much! lol totally gonna remember that :) thank you so much. im pretty sure you just sparked my future lol
You might want to consider a slightly larger scale project. I do find I need a purpose to really learn a new skill. Sometimes this need comes from work; other times it's because some or porblem catches my interest.

The nature of the project might suggest one language over the others, which is fine; while one language is going to take up most of your programming time, it doesn't stop you keeing you hand in with the others.

You could even develop mixed language appliction; maybe a Java GUI with a dll/shared object (via JNI) to do the processing. Or the Python equivalent.

Mastering the whole of a language will take a good while. Working on a reasonably hard, real problem will allow you to master a reasonable, useful subset. It would also help you understand how the different parts of the develpment process fit together.

Do you use source control for your work? If not, once you're beyond "toy" projects, you should look into it.

Andy

P.S. Do you mean you have a good handle on proceedural programming? Or did you really learn functional programming first?
Last edited on
closed account (1vRz3TCk)
I noticed you said Windows Phone 7 App Development, what other platforms are you interested in?
closed account (DSLq5Di1)
Invest your time in understanding programming fundamentals and methodologies. Switching language is for the most part, learning a new syntax and maybe some idioms.

Experience gained from focusing on one language would be far more beneficial than jumping between them.
Well honestly i think i should say Proceedural Programming. You know ive just learned the basic content before OOP programming. Pretty much i have not taken any steps beyond that of small console appilcation programming. You know the basic stuff. However i am beyond eager to get started on the "real work" i.e. application development[b]. And i never realized the fact that i could be stuck for years "mastering" a programming language without ever implimenting it into a real project. And a slightly larger scale project?? Like what??

And Code Monkey, i own a Windows Phone 7, so im figured it be a good start. However i am [b]very interested
Android Application Development as well as Iphone App Dev(Which i am reluctant to venture in to for the sake of having no knowledge of Objective-C.

btw thanks guys, this has been an issue thats been in contemplation for awhile now...
If you learn C++ and are relatively proficient with it, you should be able to switch to another language without any trouble. Besides learning slightly different syntax's and libraries, the programming is the same. The language and libraries are the tools. For mobile app development, I would suggest C#, Java or Objective C because they are used by Windows phone, Android and Apple. Being proficient in C++ would allow you to switch/port to any of these languages relatively easily IMO...(but maybe I'm just a fanboy)
Last edited on
@ModShop, no i completely understand. I had the same mindset regarding Java, but i just got into c++ and i love it. And i didnt know that this language would provide the "easiest" transfer to other languages. Or even thought of programming languages from that mindset.
Well c++ is like the most powerful language( i think? ) with its OOP and memory allocation. So switching to anything would be switching down a level. Like if you switched to java you wouldnt have to worry about pointers anymore.
closed account (1vRz3TCk)
As you do want to experience a lot of different areas, C++ would make a very good base. If you had said that you just wanted Widows desktop/server/web then I would probably have said start with .net with C#.
yeah pointer variables have been a concept ive struggled to grasp. And im definitely leaning towards C++ as a strong foundation. still keep my fingers in the other languages for ease of transfer. However, spend alot more time actually working with Application Development.

Now another question..which to start with. Android? WP7? or Iphone?

and i also wanna start xml, html, and stuff like that
xml and html are for websites.

For your phone qusetion, i would say WP7 since that the phone you have! I dont know how phone programming works but i bet your going to want to be able to use the applications you make!
haha very true. and yeah windows 7 app dev is a combination of C# and XAML lol
html, css, XAML, XML are all glorified methods of data storage. Coming from a compiled language, those "languages" will be VERY easy to learn. If you want to get into Windows Phone dev, worry about C# before XAML :)
ah, thank you so much :) will do...C# on the way...then XAML
Topic archived. No new replies allowed.