Forum menu
Where are all the C...
 

[Closed] Where are all the C programmers?

 br
Posts: 18125
Free Member
 

[i]Never done 'C' programming but was a good COBOL programmer once, he says showing his age [/i]

But mine was done on coding sheets, and then typed up by the Ladies - only later did we get terminals.


 
Posted : 25/10/2010 6:39 pm
Posts: 91169
Free Member
 

C for stuff that needs to be fast, Java for everything else. Mmm, Java 🙂


 
Posted : 25/10/2010 6:41 pm
Posts: 31206
Full Member
 

Java. Bleurgh. I actually prefer C# these days!


 
Posted : 25/10/2010 6:53 pm
Posts: 27
Free Member
 

When 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 🙂


 
Posted : 25/10/2010 7:01 pm
Posts: 12088
Full Member
 

That TIOBE index, are there really that many lisp programmers out there?


 
Posted : 25/10/2010 7:31 pm
Posts: 91169
Free Member
 

When 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 🙂


 
Posted : 25/10/2010 7:40 pm
Posts: 0
Free Member
 

mogrim - 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...

After whom is the ADA language named[/quiz question] No Googling!


 
Posted : 25/10/2010 7:41 pm
Posts: 0
Free Member
 

Either Babbage's sister,or a patroness.
Ian


 
Posted : 25/10/2010 7:51 pm
Posts: 0
Free Member
 

Googled it now,close.but no cigar.
Ian


 
Posted : 25/10/2010 7:51 pm
 LMT
Posts: 543
Free Member
 

I 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.


 
Posted : 25/10/2010 8:00 pm
Posts: 31206
Full Member
 

Graduated 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 etc

Many 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.


 
Posted : 25/10/2010 9:27 pm
Posts: 91169
Free Member
 

Ada Lovelace was a countess and Babbage's friend. She discussed ideas with him and came up with the idea of programming languages.


 
Posted : 25/10/2010 9:30 pm
Posts: 31206
Full Member
 

How 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 😉


 
Posted : 25/10/2010 9:34 pm
Posts: 91169
Free Member
 

I 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.


 
Posted : 25/10/2010 9:50 pm
Posts: 0
Free Member
Topic starter
 

I 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.


 
Posted : 25/10/2010 9:58 pm
Posts: 91169
Free Member
 

Yeah 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 🙂


 
Posted : 25/10/2010 10:12 pm
Posts: 0
Free Member
Topic starter
 

Yeah 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.


 
Posted : 25/10/2010 10:21 pm
Posts: 0
Free Member
 

I 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.


 
Posted : 25/10/2010 10:22 pm
Posts: 91169
Free Member
 

Problem 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 [i]even on different platforms[/i]


 
Posted : 25/10/2010 10:38 pm
Posts: 4954
Free Member
 

While 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.


 
Posted : 25/10/2010 10:45 pm
Posts: 0
Free Member
 

Well 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.


 
Posted : 25/10/2010 11:01 pm
Posts: 91169
Free Member
 

Languages 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? 🙂


 
Posted : 25/10/2010 11:09 pm
Posts: 14774
Free Member
 

I'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.


 
Posted : 26/10/2010 12:47 am
Posts: 0
Free Member
 

10 PRINT "STW GEEKS";
20 GOTO 10

Right, who wants to give me a job? 😀


 
Posted : 26/10/2010 5:03 am
Posts: 0
Free Member
Topic starter
 

buzz-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.


 
Posted : 26/10/2010 6:37 am
Posts: 460
Free Member
 

You 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)


 
Posted : 26/10/2010 7:06 am
Posts: 4954
Free Member
 

Thanks for the points.


 
Posted : 26/10/2010 8:40 am
Posts: 31206
Full Member
 

Don't use C++, it's the Devil's language

[code]numNegativeOpinions++;[/code]

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. 🙂


 
Posted : 26/10/2010 9:38 am
Posts: 0
Free Member
 

I 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'.


 
Posted : 26/10/2010 10:03 am
Posts: 0
Free Member
 

I 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.


 
Posted : 26/10/2010 10:23 am
Posts: 31206
Full Member
 

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!

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).


 
Posted : 26/10/2010 10:44 am
Posts: 0
Free Member
 

Yep. 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 🙂


 
Posted : 26/10/2010 10:51 am
Posts: 91169
Free Member
 

They 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.


 
Posted : 26/10/2010 11:08 am
Posts: 31206
Full Member
 

They bloody well should understand what a pointer is in Java - fundamental to the language.

reference != pointer


 
Posted : 26/10/2010 11:19 am
Posts: 621
Free Member
 

glenh - Member

I think the problem for the OP is that universities aren't teaching C any more.

[url= http://courses.uwe.ac.uk/g402/2011 ]Decent ones do :)[/url]

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. 🙂


 
Posted : 26/10/2010 11:21 am
Posts: 91169
Free Member
 

See above my arse.

Bloody nerds cluttering up the industry!


 
Posted : 26/10/2010 11:32 am
Posts: 0
Free Member
 

Not sure about needing A level maths to study computing either.

You still need to learn logic though and unfortunately one of the best ways to learn logic is with maths. The ICT course taught in secondary schools, no matter what anybody says, has more to do with design than with computing.

After being made redundant the last time, I thought I might pass on some of my computing skills by becoming a teacher. They taught them how to make a website look pretty, with the appropriate design software, but didn't teach them how to do a simple calculation in a spreadsheet. A month into my first PGCE teaching practice I quit. Nightmare!!!!!


 
Posted : 26/10/2010 11:41 am
Posts: 91169
Free Member
 

You still need to learn logic though and unfortunately one of the best ways to learn logic is with maths

I dunno.. my A level maths didn't contain any formal logic stuff.


 
Posted : 26/10/2010 11:43 am
Posts: 31206
Full Member
 

Yep, didn't get much logic in Higher Grade Maths (i.e. under the Scottish system).
But "Technological Studies" covered basic logic from an electronic view (logic gates) and "Computer Studies" dealt with the software view (control flow).


 
Posted : 26/10/2010 11:53 am
Posts: 0
Free Member
 

Didn't mean 'Logic', suppose I should have said logical thought. Mathematical problem solving, especially algebra, requires logical thought processes. First year degree covered logic gates and all that stuff.

Computers wouldn't have been invented if it wasn't for mathematicians.


 
Posted : 26/10/2010 12:04 pm
Posts: 91169
Free Member
 

Mathematical problem solving bears bugger all relation to programming problem solving IMO and E.


 
Posted : 26/10/2010 12:05 pm
Posts: 0
Free Member
 

in it to get a job because they thought they could make lots of money

Hi!

[i]Thought[/i] being the operative word there 😐


 
Posted : 26/10/2010 12:15 pm
Posts: 31206
Full Member
 

Agree with molgrips.

We did linear algebra, calculus, formal logic, complex numbers - all that good stuff at uni and none of it is useful for general programming.

Algebra and set theory are probably the closest to useful for general programmers.


 
Posted : 26/10/2010 12:17 pm
Posts: 0
Free Member
 

I think Ada Lovelace was related to Lord Byron. Smart chick

Ada Lovelace was Byron's only legitimate child. Our IT training suite is in a building called Ada Lovelace and I used to live just round the corner from Ada Place and Lovelace Walk 🙂


 
Posted : 26/10/2010 12:29 pm
Posts: 31206
Full Member
 

[url= http://www.codinghorror.com/blog/2009/04/should-competent-programmers-be-mathematically-inclined.html ]Jeff Atwood makes some good points about programming and maths[/URL]
But the Steve Yegge post that he links to is worth a read too.


 
Posted : 26/10/2010 12:29 pm
Page 2 / 3