Live data from Hacker News

Ten predictions (2004)

sites.google.com

231–240 of 324 posts

Re: Ten predictions (2004)

#231
post #117

Earlier quoted context omitted.

> 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 lap…

> 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}

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)

#232

Earlier quoted context omitted.

1. XML databases will surpass relational databases in popularity by 2011. Yup, close enough insofar as the point was made but some of the names were changed and improvements applied. 2. Someone will make a lot of money by hosting open-source web applications. Ya know, he might be onto something there. In retrospect, it relies on fulfillment of #7. 3. Multi-threaded programming will fall out of favor by 2012. It's jus…

> Half of the then-absurd snide "promises" he listed as others making have pretty much come true: HDTV pixel counts on a pocket device, LTE data rate 10x faster than T1, etc. Shame we still don't have microsecond latencies, though.

and never will... at least on the "Internet" (as opposed to a controlled demo with all nodes fitting in a room).

Re: Ten predictions (2004)

#233
post #199

Earlier quoted context omitted.

1. JSON has an easy way to specify data types. In XML you have to have multiple nested tags. In JSON my document can be: {"mynumber" : 5, "mylist" : ["one", "two", "three"]} Simple, neat, and fits on one line. In XML this has to be 5 one two three Of course, I don't know what you're talking about "JSON doesn't even have a bloody date or time type" when XML doesn't have anything but strings. In order to parse this, I'…

Your ideas about Java and XML are very dated. JAXB makes it essentially transparent to convert an object to XML and back, and with JAX-RS I can give you a REST API that returns XML or JSON, your pick, for basically no effort on my part. These are part of the Java EE 6 web profile, so basically everybody gets them for free. Most of us don't "install libraries" anymore so much as add four lines to our Maven POMs. Point…

1. What's a good tutorial to learn JAXB and JAX-RS?

2. Maven is a nightmare too. Every time I've used it (usually because I'm compiling someone else's code and they wrote the build in maven), it downloads hundreds of megabytes of who-knows-what from random Internet sites. I want to pin versions of dependencies (and dependencies-of-dependencies) so my builds are repeatable, and I want to be sure everyone who's forked my git repo can still build the code if the Maven URL's for the deps have gone out of business. I recall trying to read the Maven manual, but both the manual and the concepts were incomprehensible -- there's so much automagic, when things break, it's difficult to even come up with a hypothesis of what might be going wrong. (And anyone who has any experience with any build system knows that the build always breaks.)

I usually just use Ant. It's a bit of a pain shuttling jar's around (symlinks help), but at least I can understand the build.

3. Part of the problem is that I don't want this alphabet soup of technologies. If I'm running in Python, and I'm developing a prototype or a one-off hack, I just write a file called whatever.py. (I can "import json" in whatever.py if I don't want to use hacks like eval()/repr() or copy-and-paste for parsing/serializing.)

I want to be able to build a quick one-file prototype to process my XML, without enabling the "Java EE 6 web profile" (whatever that is) and writing a Maven build file. I want using XML to be this simple:

  sudo apt-get install default-jdk
  javac Whatever.java && java Whatever
And Java's XML handling just isn't that simple, whereas Python's JSON handling is.

Re: Ten predictions (2004)

#235
post #230

Earlier quoted context omitted.

I've been working with Django for 5 years, and I would say Django's ORM is pretty pedestrian, when not downright painful. It fails at simple things like allowing you to GROUP BY without falling back to SQL.

That used to be the case, it's much better now: see QuerySet.annotate() and QuerySet.aggregate()

I'm aware. These features are not replacement for GROUP BY.

Re: Ten predictions (2004)

#236
post #233

Earlier quoted context omitted.

Your ideas about Java and XML are very dated. JAXB makes it essentially transparent to convert an object to XML and back, and with JAX-RS I can give you a REST API that returns XML or JSON, your pick, for basically no effort on my part. These are part of the Java EE 6 web profile, so basically everybody gets them for free. Most of us don't "install libraries" anymore so much as add four lines to our Maven POMs. Point…

1. What's a good tutorial to learn JAXB and JAX-RS? 2. Maven is a nightmare too. Every time I've used it (usually because I'm compiling someone else's code and they wrote the build in maven), it downloads hundreds of megabytes of who-knows-what from random Internet sites. I want to pin versions of dependencies (and dependencies-of-dependencies) so my builds are repeatable, and I want to be sure everyone who's forked…

http://www.mkyong.com/webservices/jax-rs/integrate-jackson-w... http://www.mkyong.com/webservices/jax-rs/download-xml-file-f...

This got me up to speed pretty quickly to learn JAX-RS providing XML and JSON.

Re: Ten predictions (2004)

#237
post #170

On the Lisp thing, looking around the programming world in 2004, you didn't see proliferation of functional concepts like you do today. In those days, "functional" meant Lisp, at least popularly. I think the big lesson of Lisp has been disseminated, though, and that is that it is more productive to write code-that-writes-code. But I also think we learned a broader lesson that it's better to not pigeon-hole people dow…

Being a "Lisp" is a very broad category and I always wondered about people calling Lisp a functional language. I would love to see a list of things that are today considered functional that originated in Lisp, I think there is not that many of them in the end. However, there is a ton of things that have nothing to do with being functional that originated or got popularized by Lisp: garbage collection, lists as the fu…

> Being a "Lisp" is a very broad category and I always wondered about people calling Lisp a functional language.

I don't understand how anyone who has studied programming language history could not understand that Lisp, and APL to no small extent, are the languages that initially defined what it means to be "functional".

Scheme, which is a hugely influential dialect of Lisp, is unambiguously functional, and Lisp in general is clearly derived from lambda calculus, which is the origin of functional programming.

Re: Ten predictions (2004)

#238
post #170

Earlier quoted context omitted.

Being a "Lisp" is a very broad category and I always wondered about people calling Lisp a functional language. I would love to see a list of things that are today considered functional that originated in Lisp, I think there is not that many of them in the end. However, there is a ton of things that have nothing to do with being functional that originated or got popularized by Lisp: garbage collection, lists as the fu…

..."I always wondered about people calling Lisp a functional language" Even more interesting: why do people call a family of language a language? elisp , for example, certainly doesn't put the emphasis on FP. But Clojure does (although you can use Clojure in a non-functional way). But it's not that much of a surprise: nowadays talks about FP are everywhere, so programmers who think they understand FP use the term for…

> Even on HN.

Did you mean programming.reddit.com?

Re: Ten predictions (2004)

#239

1. XML databases will surpass relational databases in popularity by 2011. We got NoSQL (esp. JSON based ones) instead of XML. Close enough though. 2. Someone will make a lot of money by hosting open-source web applications. Github is cool but with all the cheapskate web devs (no offense, I am one of them) I don't think it is _that_ profitable. 3. Multi-threaded programming will fall out of favor by 2012. Not really.…

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

Well he wasn't that far.

The high-end laptop market is utterly dominated by Apple: already in 2007 they had more than 30% (growing by 8% from 2006) of the high-end laptop market and now they're at more than 50%. So their sales there exceed those of all the other players combined.

They're also the uncontested winner in the ultra-thin laptops market.

Granted, there's a market for IBM Thinkpads but you simply cannot say he was far off regarding is Apple laptops prediction.

Re: Ten predictions (2004)

#240
Reading Paul Graham's "beating the average" I can't help think that Steve Yegge's prediction #5 and #10 are mutually exclusive:

Prediction #5: Lisp will be in the top 10 most popular programming languages by 2010.

Prediction #10: In five years' time, most programmers will still be average.

There's no way any Lisp dialect could reach top ten if most programmers are still average ; )

Post reply on HN