Originally posted by Bwana
View Post
- 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!
Which programming language should I learn?
Collapse
X
Collapse
-
Work in the public sector? Read the IR35 FAQ here -
Originally posted by doodab View PostI think the key thing to look at is programmer productivity. My personal take is that by leaving out little used features that over complicate things and removing the need to perform memory allocation housekeeping C# and Java offer a massive improvement in programmer productivity and make it easier to write correct code that is less prone to a lot of common security issues.
In modern C++, memory allocation and housekeeping isn't something the programmer does often. In fact you work pretty much the same way as a C#'er or Java'ist would. Inevitably a lot of C++ detractors have a hopelessly outdated idea of what C++ is like, and think it's all casting void* pointers and static fixed sized memory buffers with no overrun checks.
the frameworks offer huge wedges of common functionality in a standard way
I also think the performance argument is a bit spurious these days, I used to believe this myself but a friend of mine (who at the time was dev team leader on a derivatives pricing system that run on one of the supercomputers that appears as "financial institution" in the top500 list i.e. fairly performance critical code) pointed out that a modern JIT compiler will compile to native code that is just as fast and has potential for making runtime optimisations that a static compiler doesn't, so can actually come out ahead. They had actually measured this, although obviously this is a fairly extreme server side example where there isn't any interaction with the desktop and so on.
The point is about the level of control. HTML5 ists will claim that JS too has native code performance, because it's JIT innit, but fundamentally, the general case can never be as good as a specialised one, and C++ means you have much more control in order to get that last 1%.Will work inside IR35. Or for food.Comment
-
Originally posted by Bwana View PostLook what happened with VB ...it got replaced with VB.Net, which isn't so bad, except that they also released C# which then drew a lot of people away who otherwise probably would have learned VB.Net.Will work inside IR35. Or for food.Comment
-
Originally posted by VectraMan View PostWhat exactly are the runtime optimisations that a static compiler can't do? If anything you'd have to say a static compiler has much more time to do a better job of optimisation.While you're waiting, read the free novel we sent you. It's a Spanish story about a guy named 'Manual.'Comment
-
@VM: a very experienced C++ guy will doubtless be more productive in C++ than some new language. It's not really a fair comparison.Originally posted by MaryPoppinsI'd still not breastfeed a naziOriginally posted by vetranUrine is quite nourishingComment
-
Originally posted by VectraMan View PostBut if we're talking languages, to pick two examples Java and C# left out multiple inheritance, and (somewhat incomprehensibly) left out const correctness.
Originally posted by VectraMan View PostThese are advanced features that the authors of the language either didn't understand themselves, or felt that their target audience weren't capable of understanding. And of course garbage collection is just a way of making programming easier for people that can't handle the concept of memory allocation. This is why C++ programmers like to look down on Java/C#'ers; no matter how you look at it to be a good C++ programmer requires a greater degree of technical understanding and ability.
Originally posted by VectraMan View PostOTOH it has to be said that the C++ world often turns into "look at me aren't I clever" programming, rather than just getting on with the job.Behold the warranty -- the bold print giveth and the fine print taketh away.Comment
-
-
Originally posted by VectraMan View PostBut if we're talking languages, to pick two examples Java and C# left out multiple inheritance, and (somewhat incomprehensibly) left out const correctness. These are advanced features that the authors of the language either didn't understand themselves, or felt that their target audience weren't capable of understanding
And of course garbage collection is just a way of making programming easier for people that can't handle the concept of memory allocation. This is why C++ programmers like to look down on Java/C#'ers;Originally posted by MaryPoppinsI'd still not breastfeed a naziOriginally posted by vetranUrine is quite nourishingComment
-
-
I came across an old notebook (the paper kind) of mine yesterday, sitting in a box of stuff. The first page was full of uncommented 8086 assembly language written in ballpoint pen.
After a couple of seconds of gazing at it, I realised it was a first draft of the core routine ("next") of an indirect-threaded implementation of Forth that I never actually got around to implementing (although I did on the 68000).
Anyway, what was it somebody was saying about high-level language A being cooler than high-level language B because A involved knowing more about the nitty-gritty of memory allocation than B? I lost track of the discussion as I was busy remembering the reasons for my register allocations in that bit of code I wrote in the pub around 1988 but never bothered usingComment
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- Life Insurance services Today 10:21
- Relevant Life Insurance Services Today 10:08
- Will umbrella company regulation spark mergers and acquisitions? Today 09:24
- Critical Illness Insurance for Contractors: Protect Yourself When It Matters Most Yesterday 16:26
- Relevant Life Insurance for Contractors with a Limited Company Yesterday 16:14
- Life Insurance for Contractors: Why it’s Essential Yesterday 16:09
- Guide to Income Protection Insurance for Contractors Yesterday 16:00
- Treasury minister told six actions can save contractor umbrella sector from ‘existential’ crisis Yesterday 09:40
- Critical Illness Services Jan 13 16:41
- Income Protection Services Jan 13 16:35
Comment