• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Collapse

You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:

  • You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
  • You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
  • If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.

Previously on "C is a dead end skill?"

Collapse

  • nomadd
    replied
    Originally posted by minestrone View Post
    ...they have a 'layer' where you have to...

    Taken me 2 weeks to do 2 days work.
    Ah, "layers".

    I've just spent 2 days trying to figure out how the current system I'm working on sends an email! You'd have thought things couldn't be simpler with the Java Mail API, but these guys decided to add 4 layers (!) of "helper" classes on top.

    Add to this that I'm working with a European and an Indian permie who don't speak good English, and you have no idea how slow progress can be...

    Still, I will kiss this months invoice once it's paid.

    Nomadd

    Leave a comment:


  • VectraMan
    replied
    Why haven't I been paying attention to this thread?

    Originally posted by nomadd View Post
    Huh? How you are even declaring a class in C?

    ANSI C (C89)/ISO C (C90) keywords:

    * auto
    * break
    * case
    * char
    * const
    * continue
    * default
    * do
    * double
    * else
    * enum
    * extern
    * float
    * for
    * goto
    * if
    * int
    * long
    * register
    * return
    * short
    * signed
    * sizeof
    * static
    * struct
    * switch
    * typedef
    * union
    * unsigned
    * void
    * volatile
    * while

    Keywords added to ISO C (C99) (Supported only in new compilers):

    * _Bool
    * _Complex
    * _Imaginary
    * inline

    Cheers,

    Nomadd
    struct.

    It's the same thing. Honest.

    Leave a comment:


  • minestrone
    replied
    Originally posted by nomadd View Post
    Sounds like the mess of a web system I've been ploughing my way through today. It uses all the right tools, but in all the wrong ways. Still, that's permies for you! Peanuts = Monkeys. (Plus a contractor to come along and fix - i.e. re-write - it. )

    Nomadd
    Cracker of a system I am on just now, GUI system which takes XML in from a mainframe and turns it into a java object to be placed on a screen but rather than just...

    customerNameTextField = customerObjectDerivedFromXML.getName() ;
    customerAddressTextField = customerObjectDerivedFromXML.getAddress() ;

    they have a 'layer' where you have to manually place all the customer fields into an 2D array, shuffle it up to a GUI framework that takes the array and then manually strip the array into the fields using static text keys from a 2000 line long config class.

    Taken me 2 weeks to do 2 days work.

    Leave a comment:


  • nomadd
    replied
    Originally posted by minestrone View Post
    Most java systems I have worked on are written like a procedural program, sadly.

    Financial systems are the worst for it, all written about 2000 and the designer was a COBOL programmer with 20 years experience writing on mainframes and 2 weeks reading a java book on the train.
    Sounds like the mess of a web system I've been ploughing my way through today. It uses all the right tools, but in all the wrong ways. Still, that's permies for you! Peanuts = Monkeys. (Plus a contractor to come along and fix - i.e. re-write - it. )

    Nomadd

    Leave a comment:


  • minestrone
    replied
    Most java systems I have worked on are written like a procedural program, sadly.

    Financial systems are the worst for it, all written about 2000 and the designer was a COBOL programmer with 20 years experience writing on mainframes and 2 weeks reading a java book on the train.

    Leave a comment:


  • Earl Purple
    replied
    Problem is that almost all C++ jobs are to maintain some existing code base.

    As Joel On Software seems to suggest, those who can handle C or C++ are likely to be your most able programmers. But all we end up with nowadays are maintenance jobs. You may think that at least we get jobs, but I, at least, and much of the team I work with, are totally bored.

    The fact I work in the UK doesn't really help much either. Ok, yes, there are all these jobs in the financial sector. A lot of them will expect you to have a certain amount of banking knowledge - possibly more than just a bit. A lot of them will also require something else as well as C++ - in particular you get those who "test" you on Linux by asking you extremely deep systems-admin type questions. At least to me they are, as someone who programs on the platform..

    The biggest problem in the sector, and I don't think this will ever change, is that getting a job is more on the basis of having played with the right toys than one's actual ability to program. Oh, and on your personality.

    Leave a comment:


  • FarmerPalmer
    replied
    Originally posted by thunderlizard View Post
    I assume the farmer's point is stylistic - it's technically C++ but it's just procedural code that happens to be wrapped in classes without much thought to OOD. Maybe.
    Exactly that - procedural code, written in classes and compiled on a C++ compiler is not what I would call C++, but C with classes.

    A lot of C++ jobs in the embedded area are to maintain code like this.

    Leave a comment:


  • kingshuk
    replied
    Originally posted by nomadd View Post
    It seems, to me at least, that we don't actually make anything in this country any more. All the hardware production for embedded systems has long since moved to the Far East; the BIOS/Drivers and applications software stack on top have all now started to go the same way (or India.) Of those jobs in embedded software I could find - mostly in Cambridge - the rates of pay were pretty bad (and Cambridge is just as expensive as London in terms of living costs...) So, my dreams of switching back to interesting work in the C/assembler embedded arena were ditched.

    I'm now back producing Java code in an Investment Bank.
    Nomadd
    I am from India and when I came to UK six years ago the state of the market here surprised me. Considering the size of UK's economy and the advanced nature of it there were far far fewer software/hardware companies that are actually making/inventing new things here. Before coming here I had worked in Bangalore, Singapore and California for a short while. The variety of work available in those places were much more.

    Even today with the current state of the world economy, in Bangalore (or California) there are many many jobs requiring sophisticated C skills. Though admittedly the Bangalore requirement is a bit artificial since its mostly the silicon valley companies (large and small) that have setup shops there and hiring.

    So yes, I think for some reason (I don't think its only strong pound, dollar was strong for a long time too) UK IT sector didn't evolve well with the times. The software sector here remains a smallish pond with mainly application developers (and related workforce) churning code for government and financial services. Consequently the nature of the immigrant workforce (from outside EU) UK attracts (in software sector) is also substantially different from what USA gets.

    There are a few UK companies that are notable exceptions but not enough to change the nature of the sector here.

    Leave a comment:


  • conned tractor
    replied
    Originally posted by nomadd View Post


    I'll stand alongside those who consider C-only as a "dead end skill", especially in the embedded arena. If I was a C-only programmer now, I'd be cracking my way through all the C++ and C# books I could find, and then be applying for permie roles in a bank - just to get some experience on the cv. It's more boring work, to be sure, but it pays the rent...

    Just my - rather long-winded - two cents.

    Nomadd
    Cheer nomadd - makes sense to me.

    I must have been lucky to find it then. It's not my only skill and not really my main skill but they said they chose me because I could do the low level programming and my history of hardware engineer/ pcb/ systems engineer/ math modelling helped. It was a small team (2 + 1 junior) with a very specific small run (5 off) product doing everthing. We had to do hardware, software, pcb, mechanical, testing the lot, and it was a rather large system - not huge but big enough. Although it got a bit busy at times it was fun being with something from the begining and seeing it through to the end and seeing something developed delivered.

    It is a great shame that we don't make anything in this country, maybe one day when the pound tanks (continued devaluation with each bit of QE) the situation may turn around - plenty cheapness. But then maybe I may have taken my family elsewhere by then.

    Thanks for the straight answer.

    Leave a comment:


  • nomadd
    replied
    Originally posted by conned tractor View Post
    My last contract was doing embedded C and low level hardware design. This was for micro's and C on an FPGA - first time i had applied it to an FPGA and was quite good to work with - apart from some initial bugs in Altuim's development tools, but got there in the end.

    So is the main direction of the dead skill, C for applications programming, or do you mean low level stuff is dead also.

    OO design, wtf is that?
    I did a bit of messing around with micro-controllers a couple of years ago, mainly in assembler and C. It was fun to play around in the embedded arena after many years outside of it. I wanted to turn that hobby back into a job, but the market said otherwise!

    It seems, to me at least, that we don't actually make anything in this country any more. All the hardware production for embedded systems has long since moved to the Far East; the BIOS/Drivers and applications software stack on top have all now started to go the same way (or India.) Of those jobs in embedded software I could find - mostly in Cambridge - the rates of pay were pretty bad (and Cambridge is just as expensive as London in terms of living costs...) So, my dreams of switching back to interesting work in the C/assembler embedded arena were ditched.

    I'm now back producing Java code in an Investment Bank. A flick through Jobserve seems to show that's that is where most of the work is. Government work requires clearance I don't have, and most of that work will be gone next year once the election is out of the way and the spending cuts kick in.

    So...

    I'll stand alongside those who consider C-only as a "dead end skill", especially in the embedded arena. If I was a C-only programmer now, I'd be cracking my way through all the C++ and C# books I could find, and then be applying for permie roles in a bank - just to get some experience on the cv. It's more boring work, to be sure, but it pays the rent...

    Just my - rather long-winded - two cents.

    EDIT: Mind you, a Europe-wide search on Jobserve still seems to show activity in the embedded market. Having said that, most of those roles also require C++, and I guess that's the point most of us have been making on this thread. Again, the rates of pay also seem very poor for the very highly specific skills required.

    Nomadd
    Last edited by nomadd; 8 November 2009, 10:58.

    Leave a comment:


  • conned tractor
    replied
    My last contract was doing embedded C and low level hardware design. This was for micro's and C on an FPGA - first time i had applied it to an FPGA and was quite good to work with - apart from some initial bugs in Altuim's development tools, but got there in the end.

    So is the main direction of the dead skill, C for applications programming, or do you mean low level stuff is dead also.

    OO design, wtf is that?

    Leave a comment:


  • nomadd
    replied
    Originally posted by mobi View Post
    C/C++ has very specific usage nowadays - most for device driver for development where memory is at premium [eg. smart phones etc.]

    Multinational companies almost ditched C/++ in favour of package apps like SAP, Oracle App etc.

    Jobserve, 1 week search, contract only: C/C++: 531 jobs.

    That's a higher number than SAP, Oracle Apps. and even Java.

    So, some life in the old dogs yet!

    Still, I'd hate to just have C with no C++. I think that would make finding a contract very tricky, unless you have specific business and/or industry knowledge/skills.

    Nomadd

    Leave a comment:


  • mobi
    replied
    C/C++ has very specific usage nowadays - most for device driver for development where memory is at premium [eg. smart phones etc.]

    Multinational companies almost ditched C/++ in favour of package apps like SAP, Oracle App etc.

    Leave a comment:


  • minestrone
    replied
    IF you want to earn money then ditch the C.

    Software moved on and a C programmer is about as usefull as a latin translator in a school for mutes.

    Leave a comment:


  • nomadd
    replied
    Originally posted by thunderlizard View Post
    I assume the farmer's point is stylistic - it's technically C++ but it's just procedural code that happens to be wrapped in classes without much thought to OOD. Maybe.
    Er, it's "techincally" not C++, then. As I pointed out, C has no class keyword or construct, so you can't just "wrap procedural code in classes."

    And OODesign isn't the issue, OOImplementation is. With no language support in C for OO's E, I or P, he's just writing C code. Period. Still, I'm sure he'll be back to explain.

    Nomadd

    Leave a comment:

Working...
X