36237
« Last post by mouser on August 11, 2005, 06:39 PM »
those are definitely some broad questions.. i'll try to answer a few and others can jump in.
first, there are very very few computer languages that don't have free tools for programming in them. c++, perl, pascal, python, basic, php are all languages with free compilers and IDE's (interactive development environments).
so money is not an issue; although some of the commercial development environments can make life easier.
a low-level language is closer to the simple instructions that the computer understands. assembler is the lowest language anyone programs in today - there you would expect to write many lines of code to do even the simplest thing, but you would have complete control over everything and could expect to produce tiny and superfast code.
the higher the level the language, the more stuff will be taken care of for you by the language, so you can build bigger programs faster.
is assembly really that hard - my favorite programming quote goes like this "no one should be allowed to program in assembly"
those who program in assembly now do it almost exclusively just because they love it. it's like a puzzle. but its not for the faint hearted and its very time consuming to make a big program in assembly. and a nightmare to maintain.
.net i'll let you look on the web for. it's a microsoft invented class of languages and ways for them to talk to each other. its also microsoft's attempt to compete with java in terms of a platform neutral web-friendly environment.
scripting languages are generally interpretted - meaning they are not compiled first into machine language for super fast execution. this makes them generally slower for high-cpu demand tasks, but more flexible and easier to start with. (though there are subtle issues about just-in-time compilations that are starting to blur the distinctions).
the best way i can explain it is that a scripting language is a high-level language designed to let you very rapidly and easily write small utilities. but for big full applications they are poorly suited, because of speed, resource use, and most of all because they rarely promote structured organized object-oriented code, which is important for big projects.
if you want to really learn the art of programming, i am a huge believer in object oriented programming, and thus i would suggest a language like java or c# (.net). just because those are relatively complete, clean, high level languages.
i myself was raised on c++ so that's my native language, and it has some real strengths, but it is also burdened with legacy issues and confusing contradictions.
so if you want to write little scripts then use one of these scripting languages, etc.
if you want to make real windows applications quickly without learning the real deep concepts, then try a Rapid Application Development language like Visual Basic or Delphi.
if you really want to learn what true serious programming is all about, then pick an object-oriented language like java or c# and prepare to spend some real time learning.