Thursday, July 30, 2009

Once you know one programming language, how hard is it to learn another?

I know C++ pretty well, if I wanted to learn say Java, how hard would it be?? How hard would it be to transition from something such as C++ to SQL ?? Besides being lost in syntax, is actually understanding computer programming (loops conditions ect) half the battle??

Once you know one programming language, how hard is it to learn another?
It gets easier with experience. The difficulty depends on what languages you learned before, how much experience you had, and the languages you are switch from and to.





%26gt; I know C++ pretty well, if I wanted to learn say Java





Depends on how learned C++. If you learned C++ in a C manner, you won't carry over too much of the syntax. If you did learn the C++ portion properly, you'll be in a better position. The syntax is quite similar, so you'll benefit from the familiarity. C++ and C don't provide a platform, so you'll have to understand how that works in Java. Which is why moving from C# to Java is easier.





Certain idioms in C++ programming don't exist in Java. You don't have the header system. You don't have RAII. Don't pass pointers around. Strings are actually native. Etc.





%26gt; How hard would it be to transition from something such as C++ to SQL ??





Because SQL is for working with databases, you'll have to learn the database portion. And C++ is a general purpose programming language, and is a very high level systems level language. But SQL is just a query language. The C++ portion won't really help you here.





%26gt; Besides being lost in syntax, is actually understanding computer programming (loops conditions etc) half the battle??





Computer science is more than half the battle. The syntax is relatively easy compared to understanding computer science concepts. Understanding data structures, algorithms, and being able to come up with them on your own. What's the point in understanding syntax, if you can't use it? There's all these people in CS classes who understand loops, flow control, and so on. But when given a problem, they can't visualize the solution. They can't see how to put everything they learned together. That's the problem you need to get over. It doesn't matter what language you use. It's about critical thinking and analysis. Can you see how to arrive at the answer?





So how easy is it to move between languages? That's hard to tell. You'll tend to carry over computer science concepts, and the more experienced you are, the easier it will be to carry them over. You'll also carry over any paradigms you have learnt. Yahoo Answerers would have you believe that only OOP exists, and that every language implements OOP in only one way and that is the C++ way. They should look at http://en.wikipedia.org/wiki/Programming...





Languages with similar design philosophies are easier to move between. Languages with similar paradigms are easier to move between Languages with similar levels of abstraction to move between. That's why moving between C to C++ is easier (both are imperative languages, both share a lot of syntax similarities) than say, C to Lisp (imperative/procedural versus logic/functional/declarative).
Reply:oh, the more language programming you know, it'll be crazier. hahahaha. but, seriously, it must be a lot easier than the first. i don't know with you but, well, the hands-on thing is more likely to help you get around.


i'm not even sure if that would make any sense with you.
Reply:It depends on what you need to do with your new programming language. If you want to perform a task which you already know how in your first programming language, then it will not be very hard. It would be just understanding the differences in the technologies.





A transition from C++ to Java is logically %26amp; relatively easy. Moving to SQL is another thing because C++ is used to perform other functions than SQL! However it would be logical to compare how difficult or easy is making a transition from T-SQL (Microsoft SQL Server's SQL) to Oracle's PL-SQL.





Yes, understanding the concepts of programming (in addition to the nature of the application you are programming) is already half the battle. For example if you can develop web applications on ASP.NET, it will be relatively easy for you to develop a web application using PHP because you already know the concepts of web programming.





Hope this helps.
Reply:not hard at all, you just have to get used to the new syntax


yes, it is the essential step to to understand programming concepts: data structures, algorithms..





but u should know that C++ and Java are programming languages, SQL is a database language, it is totally a different concept, u will be working with tables and queries, not only variables and pointers
Reply:If you know C++ to an object-oriented level you will have a universal advantage to nearly all other languages.





First off, most languages such as Java, C#, Javascript, and ActionScript are all c-based languages. They were all derived from C syntax. Of course the languages have their own unique syntax, but I find them to be much more loose than C++.





Secondly, if you know C++ to an object-oriented level, you will be able to learn even non-c-based languages easily. Languages such as Pascal, SmallTalk, BASIC, Ruby, Python, and Perl all revolve around the same object-oriented concept. You just have to refer to the syntactic parse of the language.





Generally, if you transit to Java from C++ any c-based languages, it wouldn't take you any longer than perhaps a day or two if you knew to object-oriented level. If you didn't then you're probably not fimilar with C++ as you should be and I'm not sure how long it would take you to learn Java.





If you were to learn a completely new language at a Object-Oriented level, it shouldn't take you any longer than week if you really devote yourself to understand the syntact parse. A week will give you enough time to be really efficient with the language.





Of course this is different per person, but this is what I generally see.
Reply:really as long as you are going from one OO language to other its not too difficult. SQL will be a piece of cake for you, there is not muuch to it and it written pretty much just like you would say it (example : "select userID from table where name = 'name'"). anyways you should have no prob picking up just about any language.

garden centre

No comments:

Post a Comment