What programming language?
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
I think a lot of this depends upon your reason for wanting to dive into programming. If it's a career move, then you should think in terms of what skills are most in demand in the marketplace, and of course how much the various skill sets pay. For careers, here are several major points to consider. Each path you choose will narrow your choices and help you define on your ultimate needs.
- Programmer or DBA?
- UNIX or Microsoft technologies?
- Web or client development?
Exploring both the job market as well as various web sites devoted to the major categories above will help you get a feel for what you would enjoy most, and what would be the most suited to staying gainfully employed. Once you've made those decisions, the languages and technologies will pretty much present themselves. As for differences in databases or languages, I wouldn't sweat it much. These days they're all pretty good. If you're not going after this to make a career of it, I'd do a similar decision tree based on what kinds of applications you'd like to write. Either way, starting at a high level and getting the basics outlined will get you most of the way there. Everything beyond that is just religion. :)
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
-
Daniel Grunwald wrote:
C++/CLI is not worthless, but very valuable if you have to have to use both unmanged libraries and managed code. But it's no language for beginners - you have to know both C++ and C# before learning C++/CLI.
Well the only experince i have had about C++ CLI was someone on microsoft forums, i forget their name, but they were claiming to use C++ CLI and they ahd a blog about it, and he didnt come across as very smart.
Did the name start with an "N"? Kyle, Is he this guy?
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan
-
Did the name start with an "N"? Kyle, Is he this guy?
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan
Rama Krishna Vavilala wrote:
Did the name start with an "N"? Kyle, Is he this guy?
:-D
Regards, Nish
Nish’s thoughts on MFC, C++/CLI and .NET (my blog)
Currently working on C++/CLI in Action for Manning Publications. Also visit the Ultimate Toolbox blog -
Ansi C++ with the gcc compiler. Once you have mastered pointers and can write your own BST, Linked Lists, and sorts you may then move to a non-pointer language such as C#
On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage
I would say learn almost any language first before learning C++.
Ennis Ray Lynch, Jr. wrote:
Once you have mastered pointers and can write your own BST, Linked Lists
Your recommendation is more-or-less back-to-front. Even if you start with C++, Stroustrup recommends starting with high-level concepts and only tackling the low-level stuff later.
Kevin
-
Don't worry about the language right now. Pick something and run with it. C++, Java, C#, VB.NET are best bets to create some windows apps and get your feet wet. There are tons of online resources for those languages, so you'll be able to get some good support for questions you have. I would suggest to not try to get too ambitious in the beginning. Keep things fun and concentrate on understanding what's happening before delving into too many different topics. Once you're comfortable with the basics of data structures, looping, conditions, etc. start reading books like Code Complete for a good background in software development.
BW
If you're not part of the solution, you're part of the precipitate.
-- Steven Wrightbrianwelsch wrote:
start reading books like Code Complete for a good background in software development.
I wish more developers were familiar with this book. Based on most of the code I've had to maintain in recent years, this seems not to be the case.:mad:
Kevin
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
1.First learn assembly; this will make you very popular with the old school types 2.Then learn ANSI C - this means you are serious about programming - it is still functional stuff, no objects, but hey, objects are evil anyway. 3.Now is the time to learn C++ - getting smothered in complexity is always a good thing - 4.In your spare time, do a bit of LISP, some FORTRAN and a little SMALLTALK - all really must have items for any smart programmer - and you can always add your 2c's worth to any post expounding the virtues of LISP - LISP is always better than anything else - except maybe.....assembly! 5. On the other hand, if you have bills to pay and want a life(working 95 hours a week instead of 100 is not a life!), learn Java or C# - Java will take longer and the tools generally suck - but at least you will have a current skill. If you are serious about programming, you will pickup all the art and beauty of data structures etc. If not, well, at least you have a job!
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
-
It looks to me as trying to climb the mount everest and you don't even know how to walk. C++ is very difficult, especially with the pointers and dereferencing stuff. I would strongly advise something a little less error prone, like java, C# or VB. Learning from a book can make stuff a lot easier, since they usually provide samples and different excersises to work on.
WM. What about weapons of mass-construction?
The best language to start with is assembly since you understand how the machine works... but that is not something for todays devlopers, thats why many application such when it comes to preformance. I suggest you start with c, then move to c++, jave or c#. Raingod
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
c#, vb.net, vfp, javascript, tsql and java are my weapons of choice, but it depends on what I want to do - Generally for complex projects I use several languages to achieve my goals. I'd recommend starting with something simple like vb6 or javascript in order to learn the basics of variables, loops, objects and all that. Then set yourself a simple project (address book, web page calculator, etc) and see how you get on. If confused about howto do something then a google search helps :)
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
The guy that made Ruby said that if the computers evolve by the law of Moore, then they become 10 times as powerful in 6.6 years. So, any programming language will be 10 times as fast in 7 years without any improvement. I don't agree with the guy, I am used to old school programming and trying to make everything optimal and fast, but then again, back then I was making graphical engines in Turbo Pascal 3.0. My personal favourite is C#, after liking PHP a lot before it, but any language will do. And I do suggest a C syntaxed language. These include C#, C++ , C , Java, Javascript, PHP. It will become easier for you to jump to other languages.
---------- Siderite
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
CWIn the "old days" it was true that Visual Basic was much slower than C, C++. But now is not the "old days" if you use Visual Studio .NET 2005. Now there is not much difference in speed between VB and C++. Oh I'll admit that if you are writing an embedded application on a slow processor that C++ might be a better choice - then again, I could make a compelling argument that Assembly Language is faster than C++:-) I've been programming in the days of Assembly Language, was a C programmer on UNIX, and done a lot of C++ programming using Borland C++ Builder. Did a lot of Pascal using Delphi. Now late in my career I'm a VB.NET programmer and am convienced that Visual Studio is the most advanced compiler or RAD (Rapid Application Development) that has thus far been developed. In the "old days" you could not write console (command line) applications in VB nor write DLL's - now you can. In fact, Microsoft's Visual Studio compiles both C++ and Visual Basic into a CLR (Common Language Runtime) intermediary language, for both VB and C++, and that tells me that VB.NET is so close to C++ speed that it is negligable for nearly all needs. Where I work now, its an all VB shop. I could have used my C++ skills to write code in C++ but that would introduce a level of unfamilarity to others - so I adapted to VB.NET. What I advocate is that the *reason* to use a language is generally not because of things like speed - but other more compelling things like adapting to the culture and environment where you work. Another reason for VB.NET is that I sense that there are more programming opportunites in VB than in C++. Then again, if you know VB.NET well, you should be able to pick up C++ much faster. CW
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
I've had to answer this question for a couple of guys that wanted to enter programming. I would suggest learning VB.NET and C#, in that order. The end product is essentially the same, neither is better than the other in terms of performance or capability. VB.NET uses a language syntax that is more modern than C#, and is thus the easiest to learn. In learning VB.NET, you will be learning aspects of programming that you must know for any modern language. You will learn object oriented design and programming, the use of a framework, and the various levels of a program (UI, business logic, database logic, etc.). Having learned VB.NET, I would next recommend C#. C# keeps the legacy syntax it inherited from C/C++. That terse syntax is not necessary for programming, and can make development a little less productive. Having learned to program in both syntax models, you should learn C++ and Java after that.
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
Look, Languages are like machine frames where Libraries are the tools and Accessories. You can have your own sets of tools also. So If you are using .net framework, it matters you a lot the libraries you are using rather than the languages. So focus about the logic, design. Once you have the concept of a modern laguage like VB, C#, you can learn others coz while jumping to a new language, you want similar functionalities as given by your previous language and more of the new language. Bijay Bhaskar Deo
-
here is how I learnt programming: BASIC -> Pascal -> Scheme -> C -> C++ -> Prolog -> Visual C++ -> Java -> Visual Basic -> JavaScript -> C# -> Python -> Ruby (Just started) But as Leckey said :
Once you get the logic and concepts, each language just has it's own syntax.
This is true for Basic, Pascal, C/C++, Java, Python and Ruby. Scheme and Prolog are totally different, they make you think in a different way too. I am trying to practice some programs in them again as they are two of my favorite languages: good for hobby programming (but not good for professional programming).
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan
How you compare Basic , C/C++, Java as the snytax will allow you to work on your logic. My dear, i feel sorry, but i dont argee with u. This is true if you are doing certain type of programming. For example, if you are doing Graphics programming or database application how all these allow you to the same task with same effectiveness. Paricularly with GDI/graphics programming C++ will help you a lot than anything in terms of performance as it uses the handy pointers. So your view is partially correct.
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
I think Java is a pretty cool language to learn; it can be as challenging or as easy as someone makes it for you based on what libraries/packages you use. I think everyone's right though that you should focus first on the concepts, and secondly on the syntax. The programming language that I actually learned basic coding skills in was ADA - which is old school, but learning the fundamentals through that helped me branch out into other languages with more ease!
Respectfully, Chad Johnson Tools Programmer
-
I am wanting to learn how to program computers, and would like to know which language is best? I was thinking of Visual Basic because the simple code would be easier to write well and understand, but i understand it is not as fast as C++. J# and C++ CLI are out of the question because they are worthless from what i have read. Do you think i should get c# or VB?
From my experience, I would suggest C# first and then vb. I have worked both for small and large companies. Being an old vb6 and asp programmer, I started with vb.net and then picked up c#. The guys (gender unspecific) I worked with that went from c# to vb seemed to have it easier. However, it is extremely to understand the .net framework. tball
-
JasonTheNewb wrote:
Well the only experince i have had about C++ CLI was someone
Take this advice from me... or not... your choice... The world is full of idiots, every shape, every size, with every bias known to man. Question, examine, think for yourself and make your own decisions. Trust, but verify! If they didn't like something for a feature that was lacking or present, etc. Look for yourself, see if you can change the settings, you might find that they just didn't know what they were talking about. And even if your own research agrees with them, you learned more by verifying what they said, rather than just parotting someone else's opinions. :)
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
I'm confused, I thought the question was: What programming language should I learn? Is it too hard to 'define' the strengths, weaknesses, uses, wastes of time or how many jobs would hire you if you used a certain language? The poster asked a simple question, respected replies could have been at least something like: "I used #### and I love it, though it give me a headache one in a while." or "I am programming in #5309# currently and it is taking me time to pick it up. Though I recommend #911#, I can give you some help once in a while and some links." I got to this thread and thought "Man, are people on the net psycho?". Can anyone actually give a helpful answer? I'm going to keep reading and see how this ends. Mercy. www.catch-the-frog.com - catch him if you can.
-
How you compare Basic , C/C++, Java as the snytax will allow you to work on your logic. My dear, i feel sorry, but i dont argee with u. This is true if you are doing certain type of programming. For example, if you are doing Graphics programming or database application how all these allow you to the same task with same effectiveness. Paricularly with GDI/graphics programming C++ will help you a lot than anything in terms of performance as it uses the handy pointers. So your view is partially correct.
The question is not about performance. It was about learning to program.:) Scheme/Prolog/Lisp are quite different than the rest of the languages. in other words if you know C++ you can easily pick up the VB/Java/Pascal/C# but not Scheme or Prolog.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan
-
If you want to learn, forget about speed, optimization and performance, those issues will be resolved later when you have learned most of the basics and are familiar with the language you choose; or will be resolved by switching to a lower level language. I suggest you try them both. If you can, go to a technical bookstore and have a look at the different "learn <insert language here >" books and decide from what you can read what looks TO YOU seems the easiest to learn. once you get the hang of how to program, learning other languages will be easier.
Maximilien Lincourt Your Head A Splode - Strong Bad
Very nice reply!! That is how I buy my design books and magazines. I used to just look at the cover, read what I THINK could help me, flip through the book rather fast, say in 5 minutes and then buy it ($15 to $60) get it home and it would be worthless to me. Sure I 'read' it in the store, but at home, I can not 'read' it to help me. Now I 'read' 60% of the books in the store and walk away for like a week come back and read it again, if it makes sense then, then I will buy it. Best tip in this entire thread Maximilien Lincourt! www.orlandoguy.com
-
I'm confused, I thought the question was: What programming language should I learn? Is it too hard to 'define' the strengths, weaknesses, uses, wastes of time or how many jobs would hire you if you used a certain language? The poster asked a simple question, respected replies could have been at least something like: "I used #### and I love it, though it give me a headache one in a while." or "I am programming in #5309# currently and it is taking me time to pick it up. Though I recommend #911#, I can give you some help once in a while and some links." I got to this thread and thought "Man, are people on the net psycho?". Can anyone actually give a helpful answer? I'm going to keep reading and see how this ends. Mercy. www.catch-the-frog.com - catch him if you can.
warreng_online wrote:
What programming language should I learn?
It still comes down to what you want to do with it. Do you want to learn to program because you think 3D computer games are "cool" and you want to write your own? In which case you will be extremely disappointed in both the languages he said were his choices: VB and C#. Which is why I asked why he wanted to learn to program, and what he wanted to do with it. If he wants to make cool looking UI based applications with all kinds of business functionality, C# is probably the better choice than VB, especially with VB trying very hard to die. In the end, I always believe the "right tool for the right job" is the best way to focus. You get an answer directed at your true goal. "I want to learn to make UI's" [what do you want to make them for?] "I want to program" [what do you want to make?] "I want a new computer" [what do you want to do with it] I can easily answer the question, but what **I** want/need/use may not be what he wants. But if you want to force an answer that does not focus on what his goals are. I can do that to. Forget C#, VB, go C++ with either full out Direct3D with shader 4 capability (sure you have to search because it isn't out yet, but hey, you asked) or even OpenGL 2.0 (forget 1.5 or before, jump for 2.0 and OSL). Then learn C# to suppliment it. that gives you high resolution 3D game capability as well as business application capability. Add in an art class, 3D modelling, landscape rendering and special effects training, some AI and creative solution training (Creativity Boot Camp, nice!). Mind map all your ideas so that you are accustomed to using the tools, and you are a one-man gaming studio, you can give me some competition to keep me moving forward. Is that better? :rolleyes:
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)