- This topic has 103 replies, 40 voices, and was last updated 13 years ago by TheBrick.
-
Where are all the C programmers?
-
TheBrickFree Member
molgrips – Member
Complex numbers, whoop de doo!I’s rather install a library than put up with ancient langauges
But do you want to rewrite a huge and complex code?
molgripsFree MemberMy code is such a mess what with having to bolt on new stuff to an already pretty ugly code
That’s why Object Orientation was invented 🙂 Not too popular in 1977 tho 🙂
TheBrickFree MemberHa! Re. I’ll pay you when you have finished 🙂
I’ve played with C++ and so much of my stuff would be much easier, I just wish I could use it for what I’m doing!
luked2Free MemberI’ve played with C++ and so much of my stuff would be much easier, I just wish I could use it for what I’m doing!
Rewrite bits of what you’ve got, one small piece at a time.
Don’t use C++, it’s the Devil’s language. It will lead you step by delightful step to destruction.
Use C for stuff that needs to be fast, and Python/Lua/Perl/… for anything that’s just doing management/text mangling/setup.
The internal politics may well be the hardest part.
brFree MemberNever done ‘C’ programming but was a good COBOL programmer once, he says showing his age
But mine was done on coding sheets, and then typed up by the Ladies – only later did we get terminals.
molgripsFree MemberC for stuff that needs to be fast, Java for everything else. Mmm, Java 🙂
nicknameFree MemberWhen I did my compsci degree about 10 years ago (OUCH!) there weren’t that many candidates who were really into programming. Most were mixing it with business or math.
No doubt some of them ‘got it’ eventually, but we spent most our time doing Java with a bit of CPP, zero C.
It seemed like the only good programming chaps (and a couple of girls!) either programmed as a hobby previously, or had past experience dabbling in languages like C (some at A-Level). The degree did very little to improve their programming skills.
Not sure what they teach these days. Many of the candidates were into web development, so they’ve probably went down the PHP/Perl route back then.
I myself don’t really like C/C++ these days. Fairly happy using Python and designing our systems 🙂
mogrimFull MemberThat TIOBE index, are there really that many lisp programmers out there?
molgripsFree MemberWhen I was at uni, comp sci courses were a mixed bag. Some were about teaching you practical job skills, some were about teaching you academic stuff like AI.
And the students were also mixed – some hardcore geeks who wanted the sciencey stuff, and some business minded people who were in it to get a job because they thought they could make lots of money.
So everyone was disappointed to some extent 🙂
JulianAFree Membermogrim – Member
That TIOBE index, are there really that many lisp programmers out there?Or even ADA programmers? Is it still used for real-time suff? Could be I suppose…
[quiz question]After whom is the ADA language named[/quiz question] No Googling!
LMTFree MemberI did C, C++ and cobol at college and university, seems very few jobs out there when i left uni and tbh i after failing to land a proper job as my mates call it, i ended up leaving my Computing skills behind. Pity as i loved tinkering around and when you compile that code for it to just work. Many times it failed to work.
GrahamSFull MemberGraduated in 1997 from Strathclyde Uni (Comp Sci BSc Hons).
We did all sorts. Off the top of my head: C, Scheme (LISP), x86 assembly, Eiffel, Prolog, and I did my final year project in Java 1.1 and upgraded it to the heady heights of Java 2 mid-project 😀
The languages we did were really secondary to teaching us the principles tho.
C and assembler taught us low level systems. Prolog taught us logic, deduction and inference. Scheme taught us algorithms, recursion, data structures. Eiffel taught us contracts and assertions etc etcMany graduates these days seem to just get taught a language to use in industry and that’s about it. Many would give you a blank look if you asked them the difference between the heap and the stack, or what O-notation was, or how to convert an iterative algorithm to a recursive one.
molgripsFree MemberAda Lovelace was a countess and Babbage’s friend. She discussed ideas with him and came up with the idea of programming languages.
GrahamSFull MemberHow would folks here do on these phone screen questions?
http://www.codinghorror.com/blog/2008/01/getting-the-interview-phone-screen-right.html(oh and ADA is named after Ada Lovelace, who was someone posh, possibly a Lady/Countess? who had something or other to do with Babbage)
Edit: typed that before I saw molgrips reply. Close enough with googling 😉
molgripsFree MemberI just interviewed a guy to replace me today. He didn’t know much about the language we were using, so I asked him about how he’d worked in the past, how he’d picked up new stuff and how he thought it fitted into a project.
He got the thumbs up from me.
luked2Free MemberI think I’d do OK with those questions. I ask our candidates to reverse a string – I’m always amazed by how hard that can be.
For goodness sake, if you’re in an interview and you write down some code, TEST IT BY HAND!
I’ve lost count of the number of people who insist on going one past the end of the array.
And as for that phone number question, that looks like a two line perl script.
molgripsFree MemberYeah but the phone number thing would only work in the USA would it not, or other countries with standardised phone number formats..
Experienced application developer me, I think of these things 🙂
luked2Free MemberYeah but the phone number thing would only work in the USA would it not, or other countries with standardised phone number formats..
Didn’t it say something like “identify the pages having probable U.S. phone numbers in them” and “our team is on a short (2-day) timeline.” ?
But I’d still rather have candidates thinking about it too much than just staring blankly at me.
buzz-lightyearFree MemberI think Ada Lovelace was related to Lord Byron. Smart chick.
“Don’t use C++, it’s the Devil’s language”
Personally I quite like its many traps an idiosyncrasies on which there are many books written, at least from a masochists PoV since I was once an expert. C++ in the hands of a novice programmer is like a shotgun in the hands of a child. But it does offer most of the compactness and performance of C with the big benefit of object oriented design. So if you want a high performance server, have a load of C to refactor or need an embedded application, it’s probably still the language of choice. Unless you want it to be very reliable and will write your own utility libraries, in which case use Ada95.
Mind you Java is getting fast these days, if rather bloaty and unsuitable for small platforms (Micro Java any good?). No Real-time standard yet though.
molgripsFree MemberProblem with C++ for me is bloat. Loads of libraries for every platform, even to do the same thing (we had three string classes in one environment, you needed different ones for different stuff), makes it all a right nightmare.
There two best things about Java for me are a) the standardised documentation format, makes it brilliantly easy to find what you need and b) standardised libraries for most things even on different platforms
TheBrickFree MemberWhile I have all of the STW geeks here. I’m a Maths / engineering guy, most of the other Sci / maths jobs I look at seem to want C++ which is why I have been dabbling in that, trying to become more familiar with it but now this thread makes me thing I shouldn’t bother.
buzz-lightyearFree MemberWell if you doing algorithmic work and number crunching then speed and compactness is probably important which rules out a lot of the friendly contemporary languages. But C++ is really bare-to-the-metal C with possibility of a more flexible design that you get from being OO. So yeah I can see C++ doing maths work.
But I totally agree with molgrips – it’s minefield language. In fact some interviews churn out examples from the “C++ gotchas” book just see if you spot them; the gits. Don’t get me started on C++ exceptions (because I can’t remember all the gotchas now)! Then there are heaps of books about good style because its so easy to have bad style: Meyers, Sutter and many others. That tells you all you needs to know about the language: it’s Bjarne Stroustrup’s post-grad research project.
But through all that it’s possible to write fast, compact, maintainable, re-usable code. So it’s kinda bad-ass cool too.
molgripsFree MemberLanguages are heavily industry dependent as you are finding out Brick. If you end up in realtime stuff or some similar area, then it’s C or C++ all the way. If you are into enterprise apps or server-side then Java or C#.
You have to be really committed to write good C++ and developers of that calibre are few and far between 🙂 So most C++ code is dodgy and hard to maintain. Why d’you think Windows is so buggy? 🙂
coffeekingFree MemberI’ve spent some time working in C for real-time linux, primarily on embedded/back end stuff. UI’s are a confusion to me. I need nothing more than a CLI to be happy. Wouldn’t consider myself a programmer though, I just can do some. And some assembly, as and when it’s needed, primarily on PIC’s.
tree-magnetFree Member10 PRINT “STW GEEKS”;
20 GOTO 10Right, who wants to give me a job? 😀
luked2Free Memberbuzz-lightyear – exactly. You can end up writing code that is simply unreadable, let alone maintainable.
TheBrick – the important thing is to understand what’s actually going on underneath, and to do something you enjoy. Just be aware that C++ is a bit of a minefield.
NZColFull MemberYou haven’t lived until you’ve experienced a quality core dump 😀
Comp Sci cryptography bore here who wrote embedded and real-time C code for seismic surveying, mainly crypto and compression with a bit of 3d graphical processing. I knew it was time to do something else when i wrote a cheque in hexadecimal (true story)…
[edit] and I’m still cursed with using Vi for everything, documents particularly that i then get pasted into Word 8)
GrahamSFull MemberDon’t use C++, it’s the Devil’s language
numNegativeOpinions++;
I’m using it at the moment and I have to say there are lots of incredibly complicated bits to it, especially when you get into heavy template programming with binding and functors – the error messages from the compiler become completely unreadable by human beings. 🙂
mavistoFree MemberI used to be a C Programmer, but somehow I now find myself as an Environmental Engineer.
Studied Geology and Computer Science with the idea of working in Geophysics, but finishing my degree in the middle of the early 90’s recession put paid to that.
Last bit of C I did was converting a load of ‘NATURAL’ database programs. Considering the NATURAL code ran like a three legged dog and the company was charged by the second for CPU time, in the first month they went live I think I saved the company £20K. Didn’t get any thanks for it though and was made redundant (for the third time in 5 years I might add).
I still try to keep my hand in, playing with Linux on an old laptop; and I sometimes miss the creative elements of the work, but these feelings soon go away when I think back to the 18 hour days trying to get a system to go live and being made redundant again because the company is sending all the development work ‘off shore’.
glenhFree MemberI think the problem for the OP is that universities aren’t teaching C any more.
All the young graduates I know have learn’t mostly Java, C# and web related stuff. If they have learnt C, then they’ve tried to forget about it asap!I’ve coded in C, C++ and C# over the years, but that’s all off the back of learning to program for science, so my code was never likely to be particularly optimised!
These days I work full time as a scientist and write stuff mostly using Matlab, which is terribly slow to execute, but fast to code.GrahamSFull MemberAll the young graduates I know have learn’t mostly Java, C# and web related stuff. If they have learnt C, then they’ve tried to forget about it asap!
Yep. Shame because an understanding of C helps you pick up higher level languages. Such graduates have no idea what a pointer, stack, or heap is. Which means they misunderstand concepts in their own language (e.g. why creating lots of objects is costly, why passing objects by value hurts performance etc).
mavistoFree MemberYep. Shame because an understanding of C helps you pick up higher level languages
Couldn’t agree more. I believe you don’t need ‘A’ Level maths now to study computing at Uni. They call it Computer Studies too, to take the science part out. I still remember my first year course in Algorithmics with Pascal. Now there was a highly typed language! Never got on with Pascal, but found C relatively straight forward.
Memories, memories 🙂
molgripsFree MemberThey bloody well should understand what a pointer is in Java – fundamental to the language. The rest of it should be part of any foundation course in programming, not just C.
Not sure about needing A level maths to study computing either.
IMO what’s most important for a developer is to understand how your choices in the work you do are going to affect the application, the end product, the project and your team both now and in the future. I bet they don’t teach that.
GrahamSFull MemberThey bloody well should understand what a pointer is in Java – fundamental to the language.
reference != pointer
retro83Free Memberglenh – Member
I think the problem for the OP is that universities aren’t teaching C any more.
molgrips – Member
IMO what’s most important for a developer is to understand how your choices in the work you do are going to affect the application, the end product, the project and your team both now and in the future. I bet they don’t teach that.See above. 🙂
The topic ‘Where are all the C programmers?’ is closed to new replies.