I am interested in learning a programming language. I would like to learn it to the extent were i could perhaps use the skill in a working enviroment.
Any ideas on which laguages are worth taking a look at?
I hear C# is the thing now ?
I am interested in learning a programming language. I would like to learn it to the extent were i could perhaps use the skill in a working enviroment.
Any ideas on which laguages are worth taking a look at?
I hear C# is the thing now ?
depends what field you want to go into and what your goals are.
I'm sure a webdeveloper will say php and java are worth leaning where a database developer may say isql and plsql are worth learning, device driver development people will tell you to learn C, etc etc etc.
Think about what you want to do, and research what languages are appropriate.
It is Inevitable.....
someone will probadly tell me im wrong, but i think visual basic is a good start its easy to learn and alot of programs use it like micosoft progs sql etc...
They use visual basic alot at my work... i think i may have to pinch a copy, install it at home and have a good old play.
VB is a horrible descrace of a language that should never have emerged higher than Bill Gates's armpits.
If you want to do a spot of application program programming C# is fine, just don't let the 'property' nonsense go to your head, it's supurflus. Although if you plan to do programming as a career choice you should get comfortable with C++.
I have decided to pinch a copy of Visual Studio from my work and have a play with it.
I understand that c# c#.net visual c are all the same thing and are visual basics successor ?
If you can only learn one language, then make it the one that's being used in the field you want to go into.
If you want to learn programming.. which is then transferable as it's relatively easy to switch between languages, then I recommend starting with Java. As a language it's not terribly great, but the way you code it and the error reporting is so verbose it teaches you a lot about good programming practise. C is another good one, though it's much less verbose, it's quite a rigid non-object orientated language and many of the ways you handle data structures in C work in other languages (because they either copy from C or are designed to allow C-style coding).
Once you get proficient with these, it's pretty easy to then code in more or less any other modern language.
that's a complex question, which i'll get back to after answering the original question
for learning a language, in my experience, the most important thing is to set yourself a goal, and learn how to achieve it - in the case of programming, that means writing an application/driver/site/whatever. getting a good textbook is a fantastic way to start, because it provides you with a structured selection of mini-projects with hints, allowing a sensible progression from the basics
for selecting a language, you really have two types you should care about: strictly defined languages (which have very firm rules and types) and sloppily defined languages (where anything goes).
perl and php are good examples of sloppy programming - there's very little structure, so it's very easy to turn whatever jumbled mess is in your brain into code. however, as a result, your code can easily end up as a jumbled mess. perl is often considered a write-only language, because no bugger will understand your code if they try to read it at a later date
conversely, c# and java are strictly typed languages - everything has a logic and order to it, everything has a set type or method to it. it might be conceptually harder to imagine how to turn an idea into code, but the end result will be more firmly controlled
within both language types, there are high-level choices (which are slower, but provide a lot of advanced functionality to the developer) and low-level choices (where a lot of time is spent fighting with the language rather than the concept. c (and to many extents c++) come into the latter category - whilst c# and java come into the former
so. what language should you look at? my personal opinion and experience suggest a strongly-typed, high level language make for a good start - it's harder to pick up bad habits when there are fewer things to "work around" in bad ways. i'd also recommend learning a language with some cross-platform allowance built in, as if anything it teaches you better coding practices. for that, i'd look at c#, java, or unrealscript.
now, back to your question.
c# is one of a range of .net languages. .net is a framework which basically compiles code into a half-finished state at developer time, then compiles the halfway code into final code at execution time. there are a number of reasons to do it, and java does much the same thing using the "java virtual machine" component of the "java runtime environment". visual basic.net is another .net language and can interact fine with c# code. managed c++ is a bit less clear cut, and should be avoided (VB too really, the syntax is horrible)
any .net language which compiles to a .net assembly (.dll or .exe, but not the same as traditional .exe or .dll files) can interact with others - so you can write a library in c# and compile it on linux, then use the .dll file produced from inside an ironpython project on 64-bit windows. i've been working on some systems management software on 64-bit linux which runs unmodified on 32-bit windows or itanium linux. which is all rather nice.
Microsoft's .NET framework allows for all sorts of languages to be used - VB.NET, C#, J# and C++. If you want to work with .NET (and this is the way of things now - in the Windows world this is the future) then here's the lie of the land as far as each one goes:
1. VB.NET - not a bad place to start. It's actually object-oriented like the other languages now (VB 6 wasn't) and really not that bad as a starting point. BASIC is meant for people starting out in programming or doing rapid development. Personally I hate BASIC but then i've been programming for over 20 years so i'm not you
2. C# - effectively the language of choice for .NET simply because it's easier to work with the framework than any other language and pretty much all the example code out there is for this. It's effectively a hybrid of C++ and JAVA ideas (in general terms) but with less complexity than the former.
3. J# - really only exists to persuade JAVA people to use .NET - ignore, everyone else does.
4. C++ - or more properly _managed_ C++ lets you use .NET but it's (for want of a better word) NASTY syntatically (and has only got worse recently) - not a good place to start with .NET. Handy if you've a background in C, or C++ (unmanaged - i.e. not .NET) but I can't help feeling it's marginalised now. Claimed to be slightly faster than the others. I use this, but then i'm an entrenched C++ programmer.
Hope that's some help - I meant the above in pretty general terms and was trying to keep it simple. In short, i'd either start with VB.NET, move onto C# or have a go with C# directly.
Eiffel.![]()
Listen to this man, he knows what he's talking about! I have had the misfortune of attempting to understand an application 'written' in Perl. It was a complete mess.
I again completely agree with this point.
In my opinion, Java, although not a perfect language by any means, is a great starting point.
As an object orientated language this made perfect sense to me:
e.g. if you need a program to a car you simply create a class for it with variables for number of wheels, colour etc. In order to perform functions in the program, you simply create a new car object then, providing you have a method for it, query the amount of wheels the car has.
As has already been stated, once you've grasped the concept of programming (using a decent language) it becomes easy to adapt your new found skills into other languages.
Last edited by LWA; 10-05-2007 at 04:30 PM.
C# is becoming an industry standard for choice of language. Personally my favourite is Java still, but I do also have to work in C# at work. Depends what background you have, but C# is probably a good start. It doesn't really matter too much at the end of the day, as long as you're choosing an OO language then all the concepts will be applied throughout all the languages, the only difference is syntactical, not logical.
To start I would learn Javascript with HTML.
you can make a few interesting things visually which makes learning easier at first. Once you get an understanding of the basics, up to functions , C++ etc are easier to learn.
I don't think I'd agree with you there Kumagoro - HTML is very open language with very little in the way of constraints.
With an OO language you are constrained about how you program. In my opinion, it's easier to go from constrained to non-constrained than vice-versa.
There's nothing stopping you starting with Java, C# etc and creating the Hello World applications that give you some visual results for your efforts.
There are currently 1 users browsing this thread. (0 members and 1 guests)