more useful options | |
PerlMonks |
Re: Jumping ship from C++by morelenmir (Beadle) |
on Jan 09, 2014 at 23:10 UTC ( [id://1070033]=note: print w/replies, xml ) | Need Help?? |
In a less divisive mood, I agree entirely. I doubt I will ever cease to be a C++ programmer. I probably shouldn't even try. My experience is formed by the way I came to modern programming - and it influences my thoughts towards perl entirely. When I was very young I was bought an Atari 400 (second hand) for christmas! As any of you interested in vintage hardware will know that was a fairly powerful and versatile machine in its day - or at least its big brother the 800 was. There were plenty of languages available for the Atari 8-bits but the real 'choice' came down to a BASIC cartridge (that in the later XL's was built-in). I did a lot of playing with BASIC to make 'print your name' type affairs or even more ambitious text adventures. All sorts of things were possible including rudimentary vector'ish graphics in 14 different resolutions and colour counts. I eventually became fairly proficient at A8 BASIC, but all the time I was a child the real holy grail of programming your computer was to use ASM... I don't know, maybe that aspiration was just in the A8 world. Sadly for a few years in the late eighties/early ninties I lost interest in computers. I was one of those weird kids who threw away computer games to read books instead! Aside from a life-long obsession with Tolkien, that period lead to an immense culture-shock when I was introduced to modern GUI programming with the various Acorn ARM-powered sub-PC's that appeared in British high schools around 1992-1994. Oddly, I found the GUI desktop concept immediately accessible and spent most of my lower and upper sixth-years in the computer 'labs' rather than actually going to lessons! After finally getting kicked out - with mediocre at best A-levels - I was just able to afford my own PC and critically an entry in to the Windows world, which itself was quite a lurch from the excellent (for its day) ROM-based RISCOS to the plodding Windows 3.x/95. I had not done any programming for seven or eight years and of course Win95 comes with no built-in language. For some reason though I found I had quite a thirst for it and oddly my only access was through the macro language that came inside Word 7 and onwards!!! You can actually do quite a bit of work with that, even system programming away from the word processor. For about a year I limped on making ridiculous Word macros that carried out command-line tasks before I FINALLY managed to get hold of a 'Microsoft Languages for Students' package. This was 1996 and very, very few people in Britain had access to the internet - myself no exception. The only way to get software was to - shock, horror - PAY for it at the extortionate rates that places like 'Watford Electronics' asked. For some reason programming languages were especially expensive in those days and a subscription to MSDN well over £1000. To be given a copy of the newest Visual C++ Professional (v4) and Visual Basic for Enterprize(v-unsure) for £80 was an amazing bargain. I was not a computer-sciences student and the only tutoring I had access to were the help files that came with C++ itself or those endless 'Learn Visual C++ in 21 days' type books that O'Reilly or whoever churned out (and may still do for all I know). The problem with those books is they don't actually teach you C++ - just how to use the macros and 'wizards' in the VS IDE to produce slightly customized MFC object library based boilerplate apps. I absolutely HATE them. Therefore I was on my own... And going from BASIC style strings to C++ character arrays was not easy. I literally spent years scrabbling my way forwards - critically using my own individual 'style' of C++ windows programming that I developed in isolation. Finally in 2000 I got access to a telephone line and a 56k modem and... The world opened up!!! Oddly I also stopped programming. I think it was the comparison between my own highly arcane, certainly 'bad form' way of writing apps and what was considered the 'right way' by the rest of the new eWorld. I was not interested in the least with templates - yet every damn piece of example code seemed fundamentally based on them. I also had grown to DETEST using MFC, much less .NET and wrote exclusively for the windows platform - therefore my apps were formed from the ground up each time. However the overwhelming, avalanche of example snippets and work-throughs are TOTALLY dependent on MFC or the other. What is more, THAT problem has only gotten worse over the last 15 years - to the extent the SINGLE book I have ever found that teaches how to use REAL C++ to program for Windows without the clutter of forcing MFC/.NET down your throt is a tome called "C++ in Action" by Bartoz Milewski. It is a very good book, but not without its own maddening typographical errors and idiosyncrasies of style. So... At that point I stopped. I wanted nothing whatsoever to do with templates - I hate them with a burning passion, while C/C++ was still the primary language of Windows it was spoken exclusively through the muddy dialect of corporate class libraries and worst of all the spectre of 'CLI' (not the GOOD CLI of console windows...) and the mealy-mouthed horror of 'managed code' was starting to fall over the entire windows programming world. And then last year, growing frustrated beyond belief with 'DOS' style batch files to encode my ripped CDs I tripped over perl... Perl with its dynamic strings, garbage collection and sublime regular expressions. Although I only really got to grips with it all over the last couple of months, I just wish I had come across the language ten years ago when it was still the toast of the town. And in truth I will never turn my back on C++. The initial glamour of 'fully compiled' code that lead me to C++ over every other language in the nineties has faded to almost nothing given the umph of new processors. Strings are still just as tedious to allocate and free. Worst of all I am the last man on earth who does not use templates or .NET. Yet... Yet there really aren't any other choices if I want to make full GUI apps. Also over the summer I FINALLY achieved the lifelong dream of learning ASM - at least ASM for the old Atari 8-Bit, these days as reincarnated through the amazing 'Altirra' emulator. So in all fairness I suppose like everyone else has said here - perl is really just another string to my bow. But its a damn nice one!!!
In Section
Meditations
|
|