319 karma · joined June 7, 2008
jjames@gmail.com
Used to describe two things that are independent of each other. One does not imply the other.
"Common sense and intelligence are orthogonal. I've seen plenty of smart people with no common sense."
"exit" merely references a function. It doesn't call by name alone. It can thus be passed to a function (a callback for example), saved to a variable, etc for later calling. Maybe not so useful for the exit function in the interactive shell but very useful for functional programming. This is an example of consistency, sometimes at the expense of convenience; not great for hacking, awesome for collaboration and large projects (imo).
>>> dir(exit)
['__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', '__weakref__', 'name']
(pardon the dunderware)
Here's another way to exit the interactive shell ;)
>>> exit.__call__()
When people talk about power, elegance and abstraction of a language (not compiler, VM, libraries, etc) they are talking about the language platformed on the human brain (something unique to the individual). Ruby targets a certain brain platform while C targets a different one and Scala yet another. Twitter engineers sound like they have brains appropriate for both Ruby and Scala. Scala makes less technical trade-offs toward their end and so there arises a clear winner (for them).
The day we're all using the same brain platform then there could be argued to exist a best language.
To your main point, all general purpose languages are good enough at everything. That's how they get to be called "general purpose". But, I would argue that there are 0 languages that are great for everything. There is no language that can be shown to have 0 tradoffs when compared to all other languages.
The thing that often gets over-looked with Ruby is the trade off that many other languages make of developer time and enthusiasm (happiness, comfort, engagement, morale, etc). If you don't believe those factors exist or that they have little value then the trade off the language makes to afford those features is lost in translation.
To make a crude analogy: if I were hiring to get a company off the ground I would love to find a single person to do all of the product concepts, design, implementation, sales, accounting, legal work and support. The problem is that the jack of all trades is master of none and you're likely to get some creative concepting all over your accounting. Languages specialize in thousands of ways over the growth of the language (and hopefully consciously) - much like people do with education and career development. Even at times under the guise of general purposeness.
This is all to say that unfortunately your wanting a language that is great for everything is impossible. But, you might find a language that is good enough at all of the trade-offs you care about without ever trading off all the other things you care about and for all projects for all time.
I've not been in a situation to have to worry about either but I know that site owners make a conscious decision when they formulate the contents of their own RSS feeds. Some clearly don't want to provide all the goods in feed readers without an ad stream to compliment it.
I haven't gone through a lot of the feed yet so I apologize if I am missing some way you've already addressed this.
Regardless, Thanks! I really appreciate this feed.
For anyone else living like this individual, I particularly agree with the commenters who mention taking up photography to get you out into the world creating art without abandoning a detail/tech-centric tendency.
6.001 from my experience does not in any way imply a student's focus on computer programming or software development. I've heard horror stories about people in completely unrelated majors ending up in that class and having their brains thoroughly melted. In my personal opinion, Python will be considerably more humane in that department.
Didn't expect to see this type of thing on HN.
In the same vein, verything we currently rely on could equally be called out. This could be the end of Automobile 10.0, Computer 4.0, Internet 3.0, Electricity 18.0 and Civilized Culture 1.0 (I kid..).
Design has a high purpose for some and the study of usability, ergonomics and tools to automate your way to market are nothing even remotely new. Web X.0 will work because it serves people better in whatever paradigm they may live, be it civilized or relatively barbaric. Obviously, limited by the eradication of the internet entirely. Humane interfaces on a non-existent platform will never get any eyeballs :)
I might personally expand on what is meant by "company" and perhaps more importantly, an employee's position in it. It certainly makes less sense to be fiercely loyal the more expendable you are. A larger company can make more people look expendable (imo).
This is not hacker news. This is hacker targeted marketing.
The only insight I can offer you is that you can do everything you want to do in any of them. The points of consideration for which you learn then boils down to community, longevity (~market value of the skill/time) and personal interest in the specific tack each language takes. If you enjoy programming languages, there are different "interests" in Python, Perl and Ruby. Comparing the ways that Python and Ruby address Meta-programming, I think, will illuminate which for you is more interesting (which fits your brain better).
My other advice: Learn it all.
Software Engineering Radio: http://www.se-radio.net/
Rails Envy: http://www.railsenvy.com/podcast
This Week in Django: http://thisweekindjango.com/
FLOSS Weekly: http://twit.tv/FLOSS
Let me find another example which can't be confused with Shakespeare. The Beatles wrote music to be enjoyed by the masses, popular music if you will in much the same way Vanilla Ice did. I do assign one more value over the other simply for longevity of the it's presence in and impact on western culture. I will let you guess which one. There's a good reason I can assume which you will guess.
I hardly fault pulp (I tried) for aiming at culture. I am simply rating its aim and potency. What is PHP influencing? How are PHP developers going to advance programming? In 50 years will we be using it? Will there be 30 newer programming langauages that picked up the choice bits from PHP?
It probably doesn't matter and definitely not for programmers today but in conversations evaluating the success or failure of languages these topics will be prime.
First, admitting that you didn't read the article in a comment on that article is showing your hand before the call and you know for a fact it's a losing hand. In the future, just fold and keep your chips.
Second, it's important to retain your clout in a community like this and actually reading the site regularly is key. If you had been reading this week you would have seen the 2 posts riding the top two related to PHP "winning". In both cases you would have gotten grumpy and written precisely this comment on those articles. If you had, you might have actually had a lot of upvotes. This articles is a response to those posts saying something resembling your point with some meditation on the topic.
Third, and this is the key point, try harder before commenting to ascertain whether or not you agree with the article before admitting to having not read it and then personally attacking someone you don't know. If you absolutely have to attack someone, it is universally bad form to attack someone whom you agree with.
Anyone can write but not everyone can (or rightly wants to) Write.
This is nothing new. Pulp outsells literature and I'm sure people cry rivers over it. Does that mean pulp "wins"? By one measure, obviously. But they still won't teach it in school and noone will remember it when it's gone.