Discussion
right ive been in IT for over 10 years and know lots on microsoft products and everything else to do with IT except one thing - programming. Never had the need to as always worked in small companies where you buy products of the shelf. Now, however, am fed up of people going on abot C++, vis basic etc etc and want to know the basics at least. What should i be looking at as a starter course - a generic one or a single course in say vis basic as i wouldnt know vis basic from jave to C++ etc
any advice welcome
any advice welcome
How about finding an evening class at your local Technical College. Or signing up for a course with the Open University?
It really doesn't matter what language you learn. Its the principles that matter at first.
Any decent programmer should be able to code in anything given a few days to get up to speed. Being able to program, however, is a different thing entirely. Do a course. You'll enjoy it!
It really doesn't matter what language you learn. Its the principles that matter at first.
Any decent programmer should be able to code in anything given a few days to get up to speed. Being able to program, however, is a different thing entirely. Do a course. You'll enjoy it!
Plotloss said:
Get a Visual Basic.NET book, dont bother with C++ to start with, its for masochists in the main.
C# might be better. Very easy to learn and syntactically closer to the other major languages than VB. making it easier to migrate to Java and C++ if you want.
MS have made 'express' editions of all their VS products available for free, including VB, C#, C++, SQL Server etc.
Get a book, try a few code examples, then think of an app you'd like to build and write it. Best way to learn is to have a proper goal rather that the contrived exmples in a book.
Wouldn't bother with evening courses, you'll do so little each week you'd be better off spending a few evenings/weekends playing.
If you're doing it for personal 'fun' then choose what you like. There are free versions of all the microsoft languages and development environments and java is free too but a lot more difficult to pick up because it doesn't all come from the same place (well, it can but... you'll find out if you go this route).
If you're doing it with an eye to getting a job then choose something OO and learn all about OO design and iterative project methodology or you'll be pissing in the wind frankly. I'd recommend either c# or java and this as a guide to design.
If you're doing it with an eye to getting a job then choose something OO and learn all about OO design and iterative project methodology or you'll be pissing in the wind frankly. I'd recommend either c# or java and this as a guide to design.
jimothy said:
Plotloss said:
Get a Visual Basic.NET book, dont bother with C++ to start with, its for masochists in the main.
C# might be better. Very easy to learn and syntactically closer to the other major languages than VB. making it easier to migrate to Java and C++ if you want.
MS have made 'express' editions of all their VS products available for free, including VB, C#, C++, SQL Server etc.
Get a book, try a few code examples, then think of an app you'd like to build and write it. Best way to learn is to have a proper goal rather that the contrived exmples in a book.
Wouldn't bother with evening courses, you'll do so little each week you'd be better off spending a few evenings/weekends playing.
jimothy said:
Wouldn't bother with evening courses, you'll do so little each week you'd be better off spending a few evenings/weekends playing.
I dunno. Sometimes the "course" environment makes you set aside the time.
Oh: Plotters. C++ is pure. C++ is beautiful. C++ teaches you deallocate objects. But in every other respect - you are oh so right. I'd go with C# - the free one from Microsoft.
freddies_dad said:
jimothy said:
Plotloss said:
Get a Visual Basic.NET book, dont bother with C++ to start with, its for masochists in the main.
C# might be better. Very easy to learn and syntactically closer to the other major languages than VB. making it easier to migrate to Java and C++ if you want.
MS have made 'express' editions of all their VS products available for free, including VB, C#, C++, SQL Server etc.
Get a book, try a few code examples, then think of an app you'd like to build and write it. Best way to learn is to have a proper goal rather that the contrived exmples in a book.
Wouldn't bother with evening courses, you'll do so little each week you'd be better off spending a few evenings/weekends playing.
Thirded.
The syntax is very close to Java in particular (which in turn is very close to C++), which may be of use in the future.
If you want to learn on your own you need a practical reason. Something like finding all your music files on your PC and doing something with the data (find duplicates, same artist, etc.) This can be done using VBA in MS Word or Excel and is included as standard. There are plenty of books. If you record a macro in Word you can have a look at the code generated and then modify it to do what you want.
I would avoid object oriented languages (C#, C++, Java, etc.) to start with as understanding what object oriented is, is like a switch. To start with you can be totally confused and in the dark then something clicks and it becomes all clear. From then on you cannot understand what the problem was.
I would avoid object oriented languages (C#, C++, Java, etc.) to start with as understanding what object oriented is, is like a switch. To start with you can be totally confused and in the dark then something clicks and it becomes all clear. From then on you cannot understand what the problem was.
flossythepig said:
I would avoid object oriented languages (C#, C++, Java, etc.) to start with as understanding what object oriented is, is like a switch. To start with you can be totally confused and in the dark then something clicks and it becomes all clear. From then on you cannot understand what the problem was.
Learning OO is more difficult for developers who haven't done OO before. For people who have no preconceived ideas and a good book explaining OO then it's a piece of piss because each object in the code represents an object in the real world. dern said:
flossythepig said:
I would avoid object oriented languages (C#, C++, Java, etc.) to start with as understanding what object oriented is, is like a switch. To start with you can be totally confused and in the dark then something clicks and it becomes all clear. From then on you cannot understand what the problem was.
Learning OO is more difficult for developers who haven't done OO before. For people who have no preconceived ideas and a good book explaining OO then it's a piece of piss because each object in the code represents an object in the real world. Don said:
jimothy said:
Wouldn't bother with evening courses, you'll do so little each week you'd be better off spending a few evenings/weekends playing.
I dunno. Sometimes the "course" environment makes you set aside the time.
Oh: Plotters. C++ is pure. C++ is beautiful. C++ teaches you deallocate objects. But in every other respect - you are oh so right. I'd go with C# - the free one from Microsoft.
A course can introduce discipline, but not an hour a week jobbie. Maybe taking a week off and do an all in one weeks intensive course would be better.
I learnt out of a book when I was about 8 thanks to a spectrum, magazines full of listings and a passion for it.
And yes, C++ is a beautiful language, especially all the new template stuff (metaprogramming, AA's modern C++ design) but is losing out as a tool to write good programs as its way behind in the library stakes, all the funky new stuff seems only good for academics (modern C++ design being someones postdoc project), and the standards commitee slow down new releases.
I agree with the comments about doing OO from the start. Most programs these days are OO so it's easier to start OO, as prodecural will be easier to pick up after OO than OO will be after procedural.
jimothy said:
I agree with the comments about doing OO from the start. Most programs these days are OO so it's easier to start OO, as prodecural will be easier to pick up after OO than OO will be after procedural.
Show me a language in common use today that doesn't offer support for Objects. Even the humble VBScript does. And OO programming in virtually all OO languages is procedural and offers Sequence, Selection and Iteration. Sure it adds in Inheritance - brilliant for libraries - not so common in commercial business code. Personally I don't think OO matters when you start - although if you want to write anything in a high(er) level language like JavaScript and so on things like buttons, edit controls, list boxes and so on are all represented as Objects so you'll encounter 'em fairly quickly.
If you want a language that isn't procedural you have to start looking at declarative languages like Haskell and so on. My brother is a Prof and Gothenburg Uni and is into that stuff in a big way.
Me. I develop functionality to overcome sales objections.

jimothy said:
And yes, C++ is a beautiful language,
"C++ is an atrocity, the bletcherous scab of the computing world, responsible for more buffer overflows, more security breaches, more blue screens of death, more mysterious failures than any other computer language in the history of the planet Earth. It is pathetic, pitiful, a bag of disparate bolts on the side of "C", a fancy preprocessor that attempts to make "C" look like an object-oriented language and ends up merely being pathetic. If there was any mercy in this world, we would all have adopted Objective "C" as our standard object-oriented "C" follow-on and left C++ to the garbage bin of history where it belongs. Instead, we have a language more bloated than PL/1 or Ada, whose runtime library has all the coherency of a madman cutting pieces of books out and pasting them together into the documentation for the inconsistent drivel that comprises the standard C++ library, we have binding and linkage conventions that are utterly ridiculous in a supposedly "object-oriented" language, and otherwise a pathetic, ridiculous, drooling moronic abortion of computer science that should have been given a decent burial long ago (and would have been, if Microsoft had not mysteriously decided to standardize upon C++ to write their operating systems).
As for what languages are better than C++, gosh, what languages are NOT better than C++? Basically, any language whose basic design eliminates the possibility of memory leaks, whose semantics are simple enough for mere mortals to not have to peruse the 12,000 pages of Stroustrup to understand, that has a coherent and consistent and well-documented runtime library and a well-thought-out syntax, that has "real" objects instead of a wrapper around "C" structs, that does not allow buffer overflows to crash or, worse, subvert your program. What language is that? Oh, pretty much anything, actually, other than C++. Python, Ruby, Java, Objective CAML (which, BTW, has a compiler that actually generates faster code than many "C" compilers!), and many, many other languages that actually have a design that makes sense, which nobody has accused C++ of doing. C++ is a kludge, a hack, a bag on the side of "C", and always will be, and nothing we say or do will ever make that different."
-Eric Lee Green (eric#badtux.org) in rec.arts.sf.written
zumbruk said:
-Eric Lee Green (eric#badtux.org) in rec.arts.sf.written
I largely agree with that but many people won't. Having done 8 years (or whatever it was) of C I was very glad to pick up Java. I appreciate that the thrill of the chase finding that last memory leak could possibly be compelling and the freedom to hack away to achieve your goal in some new and arcane way was also fun in it's own way but all these are completely at odds with any commercial goals. Also, design and implementing algorithms is a lot more interesting than trying to figure out what memory incursion prompted the appearance of this mute core file you now have to perform an autopsy on. zumbruk said:
jimothy said:
And yes, C++ is a beautiful language,
"C++ is a kludge, a hack, a bag on the side of "C", and always will be, and nothing we say or do will ever make that different."
-Eric Lee Green (eric#badtux.org) in rec.arts.sf.written
So I take it you don't like C++ much then?
The consipiracy theorists would have it that C++ was created purely to enable programmers to keep their salaries inflated by enforcing the use of a language that is as cryptic and inherently unstable. Not only do they *have* to take 10 times longer to write the code in the first place but they also have to spend 10 times longer supporting it on an hour for hour basis. - pure genius -
Getting back on track, programming isn't about learning one language, anyone can do that, instead it is about knowing how to use the language you are using to do what you want. Starting from an OO foundation you can use a wide variety of languages with fairly minimal learning effort if you have to use a different language from the one you are familiar with. The basic concepts remain the same and with even a basic reference book you can do pretty much everything you want.
The language itself is just a tool and the development environment the workbench. A good combination of tools and work surface makes you life easier and the finished product that much more pleasant.
If you want to get started I would suggest downloading one of the visual studio express editions (free) from Microsoft and just playing. I don't want to advocate microsoft's interpretation of languages but when it comes to just getting into it there isn't an awful lot out there that is as easy to get started with for zero financial outlay. There is a wealth of how-to books and teach-yourself-in-24-hours guides. Much of it is online too although that side of things tends to be simplistic and often obtuse to the point of just wasting your time.
If it is just for personal interest you can get through the entire learning process in your spare time and it won't cost you a penny. If it is for a career change then I would suggest spending the money on a good course. Evening classes are generally worthless in my opinion, you just can't get enough material across in the little time you are granted, although as a supplement to your efforts and having someone on hand to answer the tricky questions it might be worth the outlay assuming you get a good instructor. At a higher level there are literally thousands of courses held every year for this sort of thing, you generally get a whole week (of normal office hours) dedicated to a fairly intensive course and it varies from absolute beginner to polishing your guru status.
Don said:
jimothy said:
I agree with the comments about doing OO from the start. Most programs these days are OO so it's easier to start OO, as prodecural will be easier to pick up after OO than OO will be after procedural.
Show me a language in common use today that doesn't offer support for Objects.
I do most of my development in x86 assembly language. Not many objects there. Thankfully.
Gassing Station | Computers, Gadgets & Stuff | Top of Page | What's New | My Stuff


