News for hackers. Stuff that matters.
Re:Ten predictions (2004) by seanmcdirmid on Friday February 15, 2013 @06:16AM (#5225594)
> We got NoSQL (esp. JSON based ones) instead of XML.

Thank god we dodged that bullet. I'm just glad people see XML for what it really is (useful, but not that useful).

> Not really. We are already in the multicore age, and it will only get moreticore.

The problem is multi-threaded has never really took off, even with all the cores we have today. There is still no silverbullet to harnessing parallelism.

> Apple's laptop sales will exceed those of HP/Compaq, IBM, Dell and Gateway combined by 2010. No way, thanks God.

Apple's profits on laptop sales (not other iOS devices) exceed those of HP, Lenovo, and Dell (everyone else being dead). Apple has been in no hurry to capture the unit shipped crown (and if we count iPads, they are already there).

> In five years' time, most programmers will still be average.

A tautology if I ever heard one.

Re:Ten predictions (2004) by Nursie on Friday February 15, 2013 @07:21AM (#5225795)
> The problem is multi-threaded has never really took off, even with all the cores we have today. There is still no silverbullet to harnessing parallelism.

MMmmm..... yeah it has. I'll agree on the silver bullet, but I don't think they need one.

Threads are all over the place, and easier than ever to use. They do require intelligence to use well, and people to think about things like locking strategies, but they really are not all that hard. It amazes me that people seem to be so scared of them for some reason.

Perhaps it's the problem domain I work in (back-end server systems) but I come across them all the time. When dealing with lots of distinct tasks for lots of distinct clients you can make good use of threads without needing to do the kind of hard-core mathematical analysis that you would apply to splitting single tasks across parallel systems.

(And no, I'm not suggesting that a one-thread-per-client model is a silver bullet, there are more efficient async ways of doing things)

Re:Ten predictions (2004) by seanmcdirmid on Friday February 15, 2013 @07:41AM (#5225845)
I really don't see threads being used explicitly more today then they were 10 years ago. The number of programmers who are proficient in dealing with locks, semaphores, etc...doesn't seem to have grown much (perhaps not outpacing the overall rate). If anything, we have a lot more code these days that is not explicitly multi-threaded but is implicitly concurrent in some other way that may or may not use threads under the covers (async, job managers).
Re:Ten predictions (2004) by namdnay on Friday February 15, 2013 @09:26AM (#5226272)
Exactly, in fact I'd say there's a lot more multithreading going on today, it's just that it's hidden behind whatever JEE framework people are using. This isn't a bad thing, enterprise developers (i.e. 90% of us) shouldn't have to worry about mutexes any more than they have to worry about interrupts or sorting algorithms.
Re:Ten predictions (2004) by Nursie on Friday February 15, 2013 @09:39AM (#5226334)
Out of interest, how does an enterprise developer (whatever that means) ensure consistency of data and good performance, the two competing aims of a decent mutex/lock strategy? Is it taken on trust that someone else handles this, and therefore hidden in 'safe' data structures or... ?
Re:Ten predictions (2004) by sophacles on Friday February 15, 2013 @10:10AM (#5226492)
One place you see a lot of good "under the covers" stuff going on is with .Net 4.5. The task parallel stuff they have is really decent. You still have to think a little bit about concurrency issues, but if you are careful to use their thread safe structures, they have taken care of a lot of the harder parts for you. It is a neat model that just plays out pretty nicely.

Another cool product is Disruptor - they have figured out a good, fast way to do message passing that minimizes the need for concurrent data structures between worker threads. (Provided of course you can model your app in that way). Under the hood, they have some crazy dep memory barrier based stuff, but for most of the programmers on a team, thinking about that stuff is just not needed. (as an aside, I think if Beautiful Code 2 was being written, I think Disruptor should be included, that source code is downright inspiring.)

The point being, once you have a good, trusted and vetted set of primitives, and are willing to put a little effort into working in a paradigm someone else sets, you get a lot of benefit. This is no different than using RoR or Django instead of rolling your own web framework.

Re:Ten predictions (2004) by seanmcdirmid on Friday February 15, 2013 @08:06PM (#5229828)
If threads or processes or distributed computing is being used under the covers, does it still count as multi-threaded programming? I could go out and design an machine/OS that didn't use what we would think of threads (think Atari's Transputer [1]), and all these implicit threaded schemes would still work with my new construct. Now, we might not have transputers, but some of us get to use GPUs and such (still niche, but growing), where the unit of parallelism no longer resembles a thread very much.

My point was that multi-threaded programming hasn't taken off because it hasn't needed to. We just get some really smart experienced guys to write our infrastructure that encapsulates thread use and all of us get to reuse that.

[1] http://en.wikipedia.org/wiki/Transputer

Re:Ten predictions (2004) by Nursie on Sunday February 17, 2013 @04:12AM (#5234662)
Somebody still needs to be the smart experienced guy. Somebody still needs to write the language VMs, low level libraries and interfaces, device support etc etc.

I really don't get on with this mindset that someone else can fix it.

Re:Ten predictions (2004) by namdnay on Monday February 18, 2013 @09:32AM (#5238433)
I'm talking about higher level abstractions than concurrency frameworks integrated in Java or .Net . In an enterprise world, if you need to parallelise tasks between multiple consumers, you just add them to a JMS queue/topic and tweak some obscure xml to say who consumes it and how.

In fact, using any thread or concurrency mechanism in JEE code is considered a code smell, you should be handling it with the Spring/JMS/Jboss setup

Re:Ten predictions (2004) by Nursie on Monday February 18, 2013 @11:32AM (#5239020)
Never done any JEE, or 'Enterprisey' coding in my life, so I wouldn't recognise code smell if it was waved under my nose :)

I've had the sort of career that involved highly-optimised in-memory databases, high-volume, low-latency payment processing and stuff like that. So I'm used to dealing with this stuff direct.

Re:Ten predictions (2004) by zeeboo on Friday February 15, 2013 @08:36AM (#5226048)
> A tautology if I ever heard one.

Consider this set of programmer "skill levels" where most (80%!) are above average: {10, 10, 10, 10, 1}

Re:Ten predictions (2004) by akavi on Friday February 15, 2013 @02:12PM (#5227859)
Can we, as a group, just agree that we're all sufficiently aware of the fact that yes, average (by which we all mean "mean", don't be pedantic) does not require that 50% of the referent group is above and below that number for all sets of data, but, since we're almost always talking about a more-or-less normally distributed data set, it's close enough that the deviation isn't really worth talking about?

Because I'm somewhat tired of seeing this exact comment every time the word "average" is mentioned.

Re:Ten predictions (2004) by DoubleMalt on Friday February 15, 2013 @08:47AM (#5226090)
If we take your very narrow definition, the chances of any programmer to be (exactly) average are zero, if we relax a little bit we're back at tautology.
Re:Ten predictions (2004) by lkozma on Friday February 15, 2013 @11:02AM (#5226775)
Than take {1,1,2,3,3}. By any reasonable definition the average is 2, and the most frequent values are 1 and 3.
Re:Ten predictions (2004) by fauigerzigerk on Friday February 15, 2013 @09:14AM (#5226210)
No, it's not a tautology at all. For instance, one sensible interpretation of the prediction would be that > 50% of all developers are within a range of += 10% of the average performance score. This may or may not be true.
Re:Ten predictions (2004) by zeeboo on Friday February 15, 2013 @11:22AM (#5226896)
It's not my fault the definition of average is very narrow.
Re:Ten predictions (2004) by aleyan on Friday February 15, 2013 @12:17PM (#5227178)
The definition of average[1] is not narrow. It could be mean, median, or mode or something else.

[1] http://en.wikipedia.org/wiki/Average

Re:Ten predictions (2004) by spatters on Friday February 15, 2013 @07:46AM (#5225856)
> A tautology if I ever heard one.

It's not a tautology, it's the asymptotic equipartition property.

Re:Ten predictions (2004) by B-Con on Friday February 15, 2013 @11:54AM (#5227054)
Did you actually read what he said?

> Of course most programmers will still be average, by definition. The problem is that the average level of quality and productivity probably won't have changed all that much.

It would appear not.

It's always funny how people take a serious person who has otherwise written a very insightful article, take a sentence out of context, and proclaim it silly.

Re:Ten predictions (2004) by vacri on Friday February 15, 2013 @10:33AM (#5226615)
A tautology if I ever heard one.

RTFA

Re:Ten predictions (2004) by Ingaz on Saturday February 16, 2013 @05:48AM (#5231121)
>> We got NoSQL (esp. JSON based ones) instead of XML. >Thank god we dodged that bullet. I'm just glad people see XML for what it really is (useful, but not that useful).

XML, JSON, MUMPS-storage are semantically equivalent.

XML is not about "<" and ">".

Re:Ten predictions (2004) by wuest on Friday February 15, 2013 @09:16AM (#5226219)
> A tautology if I ever heard one. In fairness, that statement was clarified: "In five years' time, most [future] programmers will still be average [by today's standards]."
Re:Ten predictions (2004) by friendly_chap on Friday February 15, 2013 @06:22AM (#5225616)
> useful, but not that useful

+ 1

> Apple's profits

With all respect, I have hard time seeing Apple laptops outside the US. Not counting some fanboys who acquired the taste trough some snob blogs.

Re:Ten predictions (2004) by MrScruff on Friday February 15, 2013 @06:39AM (#5225666)
With all respect, I have hard time seeing Apple laptops outside the US.

Indeed. And where I am (also outside the US) I have a hard time seeing non-Apple laptops. Anecdotal evidence isn't really that useful when we're talking about global trends.

Not counting some fanboys who acquired the taste trough some snob blogs.

Making statements like this cause you come across as overly emotionally invested in your platform, and make others less likely to take your arguments seriously.

Re:Ten predictions (2004) by friendly_chap on Friday February 15, 2013 @06:55AM (#5225708)
> Emotional investemented

No. I happen to use anything. I am not against Apple, I am against the Apple fanboyism. And any type of fanboyism.

> Anecdotal evidence

http://en.wikipedia.org/wiki/Usage_share_of_operating_system...

"For example, most desktop and laptop computers use Microsoft Windows"

Re:Ten predictions (2004) by MrScruff on Friday February 15, 2013 @07:35AM (#5225833)
No. I happen to use anything. I am not against Apple, I am against the Apple fanboyism. And any type of fanboyism.

'Fanboy' is a pejorative term used on the internet to try and infer irrationality in others. It's like hipster. It doesn't make you magically qualified to judge others opinions or motivations just by using it.

"For example, most desktop and laptop computers use Microsoft Windows"

That is not anecdotal, though it's also not the fact being discussed. Note that I'm not trying to argue that Apple sells more laptops combined than the other main manufacturers, I don't believe they do.

Re:Ten predictions (2004) by youngerdryas on Friday February 15, 2013 @08:35AM (#5226043)
He knows very well it is a pejorative term, that is why he used it.
Re:Ten predictions (2004) by tbassetto on Friday February 15, 2013 @07:10AM (#5225758)
> http://en.wikipedia.org/wiki/Usage_share_of_operating_system... > "For example, most desktop and laptop computers use Microsoft Windows"

Apples and oranges (no pun intended). We were talking about unit sales, not market share.

Turns out that Apple's laptop sales do not exceed those of HP/Compaq, IBM, Dell and Gateway combined but Apple's iPad sales was already doing it one year ago: http://www.computerworld.com/s/article/9223707/iPad_sales_be... and from profit POV I bet it is the same.

Re:Ten predictions (2004) by seanmcdirmid on Friday February 15, 2013 @06:40AM (#5225668)
> With all respect, I have hard time seeing Apple laptops outside the US.

Maybe Africa? I live in China and I see a lot of them here; China is Apple's second largest market now.

The fanboy argument is funny to no end. I mean, I still can't find a freaking non-Apple laptop that isn't a huge piece of crap. Maybe the X1 will change my mind, but they are on hold right now due to faulty touch screens.

I'm scared to death that only Apple is willing to produce non-crappy laptops these days, that the other PC vendors have given up and are content putting out cheap crap (and expensive crap for the enterprise). Depressing.

Re:Ten predictions (2004) by kristiandupont on Friday February 15, 2013 @06:56AM (#5225713)
"Not counting some fanboys who acquired the taste trough some snob blogs."

Language like this seeds religious discussions. Please avoid it.

Re:Ten predictions (2004) by friendly_chap on Friday February 15, 2013 @07:10AM (#5225760)
You are right, point taken.
Re:Ten predictions (2004) by dagw on Friday February 15, 2013 @07:25AM (#5225806)
Half the programmers and web developers/designers I know here in Sweden have Apple laptops, (including several Windows devs). Peeking into random coffee shops and walking past university campuses also seem to indicate that they're quite popular overall. Of course all those people could simply be fanboys who acquired the taste trough some snob blogs, but I'm not sure how to tell.
Re:Ten predictions (2004) by jiggy2011 on Friday February 15, 2013 @07:41AM (#5225844)
People at universities and who work at the sort of jobs you can do from coffeeshops are probably significantly more affluent that average.
Re:Ten predictions (2004) by seanmcdirmid on Friday February 15, 2013 @07:50AM (#5225868)
Hence Apple's profit share is much better than its market share.
Re:Ten predictions (2004) by yalogin on Friday February 15, 2013 @07:17AM (#5225781)
That is an unusual extrapolation. So people outside the US buy Apple laptops because they are fanboys? I understand you have complaints/grievances against Apple but this is not r/technology.
Re:Ten predictions (2004) by coldtea on Saturday February 16, 2013 @03:15PM (#5232826)
>With all respect, I have hard time seeing Apple laptops outside the US. Not counting some fanboys who acquired the taste trough some snob blogs.

Well, I see tons of Apple laptops in places ranging from France, to poverty striken Greece to SE Asia.

If you live in some Eastern European country, Latin America or Africa you might see way less. Macs are for the richer part of the computing buying public.

Worldwide Apple commands around 4-5% of laptop shipments, but in places like US and Japan that can get to 15-20%, and for specific categories like ultraportables it can get to 60%.

Re:Ten predictions (2004) by abrahamsen on Friday February 15, 2013 @07:03AM (#5225739)
> With all respect, I have hard time seeing Apple laptops outside the US.

More than half of our students (agriculture/environment at University of Copenhagen) have Macs, the fraction being higher in the earlier classes.

Re:Ten predictions (2004) by jmspring on Friday February 15, 2013 @07:12AM (#5225763)
Recent trips (last 6-8 months) - Sydney, London, Germany/Continental Europe - I saw Macs all over. Were they the most numerous? Not really, but they were quite visible.