HN user

AF

140 karma
Posts3
Comments87
View on HN

I don't think so. Most people don't want massive screens and don't know how to effectively use more than one anyway.

Game developers are already having problems with the expense and time required to push out the artwork for today's games. There will come a point, and it might even be here with games like Spore, where the industry will focus more on gameplay than having the most advanced games possible. Regardless, there are quite a few laptops that can play Crysis without problem. I linked to one earlier, and it costs under $1300.

/And/ with more people playing games on consoles, the need for high end PCs just to play games is less important. I think there are many factors that are coming together to make desktops less useful.

Of course there will always be those hardcore fanatics that just need the speed that only a big desktop tower can push out, but those numbers are decreasing by the month I bet.

Don't be so sure either of those are that important.

You can get a laptop with comparable power to some of the more expensive desktops now for about the same price. Look at the Gateway p-6831.

Also more and more power will continue to be fit into laptops, and I think it is only a matter of time before a desktop tower is a waste of space for even most gamers.

Please be smart and go with the ThinkPad (parcticularly a T61p).

Right now they have a 25% off sale on them, not to mention you can get another 5% off if you have a Visa card, or are a student, or a number of other things. In addition to this there are usually other coupons you can use.

I was able to purchase a T61p (more or less the same specs as a Macbook Pro, including the same graphics card (same internally) for $1250 (this includes tax). I got that price because the discount ended up being some 40% or more.

To get about the same Macbook Pro would cost me another $400 at the very least, closer to $500, and I don't think that's including the upgrades I'd have to make to the Pro to get certain features (like a 7200 RPM HD).

I received the ThinkPad several weeks ago. It is very sturdy, and so far I have really liked it. I've had quality issues with Macs before, but I see no problem with this laptop.

If you want to save at least $500 for an equivalent machine and you don't need OS X or some other Mac-specific item, I would definitely recommend looking into the T61p.

How many books do you need for a web framework?

Django is pretty simple. There's already the official book in print. Not to mention one of the reasons Rails has so many books to begin with was due to really poor online documentation. Django doesn't have that problem.

Usually I think havings lots of printed documentation is very important, but in Django's case, due to its simplicity and quality of existing docs, I don't think it is an issue.

There are advantages to both approaches. Obviously as you suggested, only using indentation makes templating more difficult than have an 'end' delimiter. But for the 90% of code that I write which isn't an HTML template, it is pretty nice to be able to not have extra ends all over the place.

But, if it is that big of a deal to you, it really is a solved issue in Python. Mako is Python in a templating language with the extra ends to make it work. Another language which is all-Python and I think pretty elegant is Breve. It uses s-expressions to do the job.

Using Mako with Django would really be very simple. I think the main reason the Django developers use Django is not so much because they don't like Python but because they are very strict about separation of display logic and business logic. Django's templates really are meant for designers, not programmers. That isn't totally appropriate in all contexts, but like I said, using Mako with Django should only be a matter of writing a few wrapper functions.

http://www.makotemplates.org/ http://breve.twisty-industries.com/

Kind of an old post, things have changed for both Rails/Django since then.

Though I'd like to comment on part of his article. He says that Django "is not as straightforward as Rails", and then goes on to complain about how Django requires you to pass variables between templates instead of just assigning them as instance variables in the controller and then automatically showing up in the template. I actually like Rails' behavior in this regard, but I think that Django's way of doing it is much more straightforward. You know exactly what is going on. Django as a whole is like that.

He's also trying to code Python in a Ruby or Java style. __methods just don't get used much in Python. Like Guido says, "we are all adults". And come on, having to use parentheses for a function call is bad? That's just lazy. But I've said for some time now, if you are looking for Rails in Python, it isn't Django you are looking for. Pylons is much more similar.

You can directly compare the speed of an application or a language.

It is not subjective to say 'C is faster than Perl' or 'Perl is faster than Ruby'. That is true, in almost every instance, C IS faster than the equivalent Perl code and the equivalent Perl code is faster than Ruby (whether that holds true for Ruby 1.9 we shall see).

On the other hand, what constitutes a 'strong' implementation of OO is purely subjective. Would you consider Common Lisp's implementation of OO 'strong'? It is completely different than how Ruby works. But it isn't any more or less OO, it is a different way of doing it. Now if we really want to get into subjectiveness, Smalltalkers would probably say that Ruby's OO is not 'strong' because Ruby resorts to not making conditionals actual objects, unlike Smalltalk, in which literally just about everything is an object.

You might even say that Python is more OO than Ruby because functions are objects in Python but methods are not similar first-class constructs in Ruby (note: I wouldn't actually argue this, but it is just an example of how the languages do something differently).

The article is correct. In this interview (http://twit.tv/floss11) Guido states that Python has been OO from the outset (1990).

The thing you have to understand is Ruby and Python do OO differently. To Python everything is a hash table. This isn't the case for Ruby and their differences mainly stem from that. It adds interesting elements like functions are very simple to pass around in Python because they are not bound to a class. It is still OO, just a different way of doing it.

Guido has also repeated for years that passing around self isn't a technical necessity. He prefers it as part of Python's "explicit is better than implicit policy. What you have to understand is that a method call boils down to method(receiver, args...). Python just makes that explicit.

Another quote from Guido:

"Get rid of self: I think this has been addressed in the responses; it's not as easy as you'd think, and there are important advantages to the uniform interpretation of methods as "just functions that get called in a funky way". In Ruby, everything is a method, or an anonymous block, and there are no "free functions". Python uses the complimentary approach, treating functions as first-class citizens. Both approaches are complete; they are however incompatible, and you can't easily morph one into the other. (Personally, I find that the criticm of explicit self has about as much merit as the criticism of Python's use of whitespace.)" (http://www.artima.com/weblogs/viewpost.jsp?thread=214325)

I too think it is kind of a silly argument. Passing around self has never been a problem for me. 4 more letters for each method. Not a problem, imo, in exchange for first-class functions. And super() in Python works fairly similar to super in Ruby AFAIK.

For the record, Common Lisp users probably find both Python and Ruby's OO limited and clunky. Just got to keep in mind there's different ways of approaching it.

> It is increasingly dangerous to have a child past 30. The danger is most pronounced for older women.

Do you mind explaining? It seems like I see more and more people having children after 30, even 40 these days.

I don't see the point in this as a serious production language. As a project to just have fun, of course it is a cool idea.

Lisp systems moved to generic functions for a reason - Lisp dialects for some time used a Smalltalk-based message sending model, but it just isn't as flexible.

But if the desire is to get Ruby semantics with Lisp syntax, I think the much more reasonable approach is to run a Rubyesque Lisp on Rubinius (which the lead devs have already talked of doing). At least by doing that you get the advantage of piggybacking on an advancing VM and a language that already has libraries.

Establishing a new language is hard.

Is he serious about this being the coolest application to date? I mean really, a music video that will end up embedded on even more people's profile page and which will be interesting maybe the first time I watch it but then I'll be annoyed with because it has no point whatsoever?

If that's the best Facebook has to offer...

I'm sure you know that the idea of using code in templates is controversial anyway. But I do like it, and Mako, imo, solves the issue with Python very well.

    % for row in rows:
        * Here is a row: ${row}
    % endfor
http://www.makotemplates.org/

That's kind of 'hackish', but not bad at all if you ask me.

Compared to an ERB snippet it is about the same (though you'd probably use each and a block here in Ruby.

   <% for row in row %>
      * <%= row %>
   <% end %>

People continue to bring this post up. It is 2 years old, and Guido has said he will not be dropping functional constructs in Python.

And the reason he wanted to remove them is not because he wants to 'dumb down' the language, but rather because list comprehensions do what filter/map/reduce can do 9 times out of 10 but end up a lot more legible. He says as much in that post. But again, if you really want those functions, they still exist in Python and will exist in the future.

It is unfortunate because it seems that those that succeed (especially in the computer industry) are the biggest jerks.

The article does mention Gates, who was involved in some pretty shady stuff when it comes to establishing Windows. You learn about Steve Jobs and his early times at Apple and it is apparent he treated a lot of people like complete shit. Steve used Woz quite a bit, too.

And then there's Zuckerberg...he might end up being a billionaire but it seems that he had to step on a lot of people to do it.

What's that quote from the Bible? 'What good is it to gain the whole world but forfeit your soul?' There's a lot of smart people here at news.yc - I hope if any of you hit it big you won't let money and fame consume you.

Just get a basic knowledge of each of them.

CL is pretty special and has features you just won't find in most other languages (macros, interactive error-handling, generic functions), and raw speed (SBCL).

OCaml...I hear discussion about it, but personally having evaluated it, I don't know what kind of a future it has (I really doubt it will ever be a 'big' thing). It has some real cruft around the edges, and I can see Haskell or Scala picking up real momentum before OCaml ever does.

Erlang: learn it. It is a simple language and as a programmer you'll probably find it very interesting. Also if you haven't done much functional programming, Erlang will push you into it. Erlang obviously has an advantage when it comes to parallel processing, but we'll have to see whether the string support ever gets better, whether it gets more mainstream libraries, and whether the complete lack of objects is an issue for adoption.

Right now I think Erlang is being hyped a little prematurely, but that might change if other languages can't adapt adequately to multi-core programming.

You know I really do like apt, but it isn't perfect, and 'rough around the edges' isn't a bad description for it (I know he meant Ubuntu as a whole).

I've had multiple times that by using apt-get autoremove, my entire Ubuntu installation has been fubared. It is almost nicer how Windows and Mac apps ship with all the required libraries and functionality they need, and you don't have to worry about it (both as a developer and a user). Add to that the confusion where programming languages have their own package managers (should I use Python's easy_install or the .debs?) and there's even more of a mess.

I've never had any difficulties on my Mac or on Windows due to a lack of a package manager, but I have had problems using apt.

I don't understand, what advantages does using a package manager have over simply shipping an app with the libraries/programs it needs? Yeah, you save hard drive space, but with hundreds of gigabytes of data, is that even important?

It is definitely something to consider, and while I don't think translating Python to Common Lisp would be all that difficult, I do think that getting the C libraries that Python wraps working with CL might be a significant effort. A lot of the good libraries like csv, re, etc, are implemented in C if I remember correctly.

I thought I made it clear. The point of doing that is because you'd have simple access to Python's massive collection of quality libraries.

As I mentioned in another post, I'm aware of the qualities of SBCL. I know it is a much better VM. That's not what I am concerned about...what I like about Python is its quantity and consistency of libraries and its overall consistency period. Common Lisp just doesn't have that, and SBCL isn't perfect - its full functionality doesn't work across all platforms.

> That would be an incredibly bad idea.

And I'm just wondering...even with SBCL, why would it be an 'incredibly bad idea' to undertake such a project to convert a Lisp dialect to Python?

You are right about the runtimes. SBCL is something else. And there have been attempts to pull Python into Lisp:

http://common-lisp.net/project/python-on-lisp/

The only thing is, I find CL a really baroque language. The issues have been touched upon by many, but CL just has many spots where due to being standardized 2 decades ago, it isn't really consistent.

Python for the most part is extremely consistent and the VM runs on any major OS (SBCL still has issues on Windows). Not to mention the language seems to be evolving naturally (Python 3).

That's the main reason I'd like to see a Lisp on Python.