HN user

smithjchris

71 karma
Posts1
Comments82
View on HN

Err malloc, free, pthreads are all abstractions and are not black box generally. You can look in them and find out what the hell is going on if you need to.

C is great at networking (sockets), concurrency (pthreads), security (brain) and readability (brain). If you know what you are doing. The same is true with any language. You can write shitty C# and JavaScript.

The problem with a university education is that it is becoming less relevant. A formal education doesn't necessarily teach people to deliver software, which is critical for the captialist society we live in to operate.

A monoculture is seen to be negative due to this insane emphasis on diversity recently. Diversity generally hinders resource pooling which is what allows monumental things to be created.

For the record, I am a pure autodidact with no formal qualifications.

You need to understand C to understand how Ruby works via observation. Observation and reverse-engineering visually is more important than you think. Understanding programs and being at one with them is the true path to enlightenment, not poking several different languages down your throat.

They should however understand theory and implementation separately. Implementation should be the most common form.

People forget that you need a job when you leave university.

I agree entirely with this. I am not intending to start a flame war here, but this is how I see it:

My rationale is that C/C++-based software powers nearly of all computer CPU cycles these days either directly or indirectly.

From mobile phones to massive distributed systems like Google, it's there. It's probably even there in your fridge or smoke alarm these days albeit somewhat feature constrained.

For the Ruby, PHP and Python users, most of your language is written in C!

The .Net framework is mostly C/C++ underneath (Google for shared source CLI). Even the C# compiler is written in C++.

Java is mostly written in C as well.

The iPod software is written in C (not it's not objective-C - check out the About/Legal section for the libraries it uses).

Objective-C even started as a load of C preprocessor macros.

Ultimately, C/C++ is the foundation of the most software in frequent use, the Internet and our society. That's why they should teach it over Lisp/Scheme/Smalltalk/etc etc.

Oh and possibly just as importantly, it works.

I think the people who buy enterprise software should read this. It's about "how to get raped" and can teach you some policies to counter things like this.

They also forgot: Try doing a cash back-hander to the CTO, which is considered almost standard practice in the consultancy business in the UK. I could name some rather big names on that front.

Best buy (which I will get flamed off the site for): Buy SharePoint, MS CRM and a number of Office licenses and hire a couple of decent people permanently to look after it and build your apps on it. It's cheaper and you get what you want, according to your schedule.

[dead] 17 years ago

Confirmation that we, in the UK, are fucked.

I was just stating that Theo will undoubtably turn up with some hilarity. He will most likely end up whipping the anoncvs mirror administrators into shape.

I do agree with the article.

At the end of the day, it's about as bad as people who used to mess up their sendmail relaying a few years ago. It in no way affects the credibility of OpenBSD, which is how it is worded and discussed.

We do it the other way round to your suggestion.

SQL Server + NHibernate does handle the CRUD stuff, custom fields and DDD-based domain logic very well.

NoSQL (CouchDB in our case) doesn't handle transactions, locking and business rules effectively. However it excels at providing extremely fast views on schemaless data such as our core domain model plus custom fields.

I think he's moaning because he's in the SEO business. Basically, his entire working knowledge is shattered by a viable Google alternative. Now he's got to understand two ways of working (PageRank vs whatever Bing uses). I think that has caused some anti-Bing bias.

Try searching for "visual studio crap" and you'll see how unbiased it is.

How can it be a fact if it's not substantiated?

It's all down to opinion, which I chose to share. Now some replies which are all my opinion again.

a) All my keybindings are approximately vim-like. Mutt uses vim as an editor. I use the mouse for ddd (nail me to a cross for my sins). irssi mainly involves: type stuff, whack enter.

b) Blue is my favourite colour (particularly oceandeep.vim).

c) Revelation: I avoid "project management" tools. That is what the filesystem and the related tools are for.

d) Regarding forking, UNIX was designed to be small utilities working together to build systems greater than the sum of it's parts, not one monolithic environment. Otherwise they wouldn't have added the fork() syscall would they? Hence, in vim, whack bang (!) and type a shell command. Pipe stuff in, get stuff out.

e) I admit, my writing style is terrible.

..zzZZ

Emacs is for people who want to have a versatile do-it-all environment.

Vim is for people who want to process text efficiently.

Typically, software with such a high level of integration sucks. It's a collection of mediocre tools rather than one excellent tool.

My combination of Vim + irssi + mutt + ddd is greater than any emacs tools as they are cherry picked to be the best at their job rather than the most integrated. I know. I binned emacs for them.

Emacs is effectively a somewhat less harsh form of vendor lock in.