3 ms·
Preferred: Python. clean, elegant, pure, simple, easy. Just fine: Ruby. good, but less simple and elegant than Python. Good if you want to deeply understand t
by jey 19y ago
Preferred: Python. clean, elegant, pure, simple, easy.
Just fine: Ruby. good, but less simple and elegant than Python.
Good if you want to deeply understand the principles of being a programmer but don't care about being very practical at the start: Lisp (yes, Lisp can be practical, but it's trouble for a newbie)
Avoid: Perl, PHP, BASIC variants. These cause brain damage.
- jey 19y agoIf you do want to take a shot at becoming a "full-fledged hacker", here's a great way to start: http://mitpress.mit.edu/sicp/full-text/book/book.html http://mitpress.mit.edu/sicp/full-text/book/book.html SICP uses Scheme (a Lisp dialect) and falls under the "deeply understand but not practical at the start" category.
- SwellJoe 19y ago"Avoid: Perl, PHP, BASIC variants. These cause brain damage." Many perl mongers, myself among them, would disagree. But maybe the brain damage has set in and I can't judge properly. But, really, you're showing serious ignorance placing Perl in the same sentence as PHP and BASIC. Perl is on the power continuum somewhere just shy of Lisp, and along-side Ruby (possibly even above it; Perl 6 will place it squarely above any other mainstream language on that continuum). Not liking the syntax is no excuse for misleading newbies into thinking Perl is in the same class as PHP. Anyway, many a developer learned programming with Perl. Some even turned out good.
- davidw 19y agoAgreed - I don't use Perl any more, having grown disillusioned with its messiness a long time ago, but it's certainly much more of a serious language than PHP.
- jamongkad 19y agoI mean really what made you say such things about PHP? not being a serious language like Perl? This is not an attack mind you, but I'm curious to know what Yahoo, Flickr, Wikipedia, and perhaps to some extent Facebook seemed to have missed when they decided to use PHP for server side stuff. What's with all the PHP hate here in YC anyways?
- davidw 19y agoThe reason I can't stand it is because I've had to deal with so much of it that sucks. Also, it just doesn't feel like what I want in a language. The real double edged sword for PHP is that it made it very easy to do web programming. The good side of that is that it let a lot of people write web stuff who otherwise might not have been able to. The bad side of that is that a lot of those people write really bad code that is no fun to clean up.
- brlewis 19y agoHow exactly did PHP ever make it "very easy" to do web programming? Was that when register_globals was on? Was it that there was plenty of example code to cut and paste? I hear this "easy" term applied to PHP by many people, but when I look at the language itself, I don't see it. PHP is easy for me because I did C for 12 years, but I look at the comp.lang.php newsgroup and see newbies tripping over all sorts of things.
- davidw 19y agoCompare to mod_perl circa 1997/8/9, any of the Java stuff... Python didn't have anything that great. ASP was probably fairly easy, but limited to Microsoft. The Tcl guys could have competed, but screwed things up and didn't release much as open source until after I created mod_dtcl, which turned out to be too little, too late. With PHP, it was and is very easy to get started. I wrote about it here some: http://www.welton.it/articles/scalable_systems.html http://www.welton.it/articles/scalable_systems.html
- mechanical_fish 19y agoThere is a well-worn path for beginners in PHP, with baby steps and encouragement all along the way. You can gradually mix PHP into your HTML site, line by line and file by file, and make your site better with each step. (Look, I've got the date in my Web page and it actually updates!) There's a tradition of building simple CRUD apps in PHP - a handful of database tables, and a PHP file for each URL that acts as a thin glue layer between raw SQL and HTML presentation. These are some of the easiest Web apps to understand - which is not to say that they are actually easy - and they are a good place to start. By contrast, learning something like Rails requires a big up-front investment. There are objects. There's a database and an ORM. There's an MVC framework. There's an abstract mapping between URLs and the methods of your controller objects. All of this makes great sense once you can see the big picture, but to a brand-new programmer PHP must look a lot less intimidating.