Comments on: Teaching Web Application Design is not Easy http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/ I will not fix your computer. Tue, 04 Aug 2020 22:34:33 +0000 hourly 1 https://wordpress.org/?v=4.7.26 By: Luke Maciak http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8227 Mon, 25 Feb 2008 22:40:43 +0000 http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8227

Very true about the leaky abstractions. And with Rails this is especially leaky since if you want your page to look pretty you have to dive into css and etc.

:)

Reply  |  Quote
]]>
By: Adam Kahtava http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8218 Mon, 25 Feb 2008 04:51:13 +0000 http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8218

Great post, I’ve been mulling over a similar thought. I see these Guys on the forums everyday; n00bs coming into a framework like Rails or ASP.NET. They typically have high expectations, an invisible teenage like attitude, and surprisingly, they churn out a couple successful projects… Until… They crash into The Law of Leaky Abstractions. They then realize that things are more complex then they had thought, and start really learning the underlying languages and technologies that had previously made their life easier, or give up entirely. The real learning seems to take place when these walls come crashing down. The danger of all these frameworks is having the underlying technologies brushed under the carpet.

I totally respect Yegge, loved this quote from one of his latest posts:
“I think we can conclude that people who rely too much on static types … are n00bs.”

Reply  |  Quote
]]>
By: Starhawk http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8125 Fri, 15 Feb 2008 02:32:53 +0000 http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8125

Actually one factor is predominantly important – branding! This is another Yegge thing. He gave a talk on this on OSCON 07.

Yep i do agree with that. I forget when i first discovered Steve’s stuff online but i went thru most of it i could find. I think he’s funny as shit and smart as hell.

And yeah alot of colleges teach compiler stuff these days. When i was in college I was a math major who minored in CS and I don’t think they offered any compiler classes then. And all the languages i learned are now mostly obsolete and for the life of me now looking back I can’t figure out why they didn’t teach either C or unix stuff there. Instead I had to learn IBMS job control language.. take my word for it nothing that ever did me any good. I suppose in some ways pascal still has some life in it and maybe influenced other languages but why no C I don’t know. I learned that latter on my own.

Reply  |  Quote
]]>
By: Luke Maciak http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8124 Fri, 15 Feb 2008 00:35:12 +0000 http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8124

[quote post=”2293″]Certainly. But if we all had to write a compiler (as Yegge suggested once) and learn assembly before coding, nothing would get done.[/quote]

Actually writing a compiler exercise should be done in college. I took Systems Software class back when I was doing my MS but compilers were glossed over. We wrote a 2 pass assembler but I was one of the 2-3 people who actually implemented the whole damn thing.

One day, I will write a fucking compiler. I swear! lol

[quote post=”2293″]I guess alot of factors determine what makes one language popular and another not but sometime inefficient and horrid languages rule for a long time. [/quote]

Actually one factor is predominantly important – branding! This is another Yegge thing. He gave a talk on this on OSCON 07.

Reply  |  Quote
]]>
By: Starhawk http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8123 Thu, 14 Feb 2008 23:07:44 +0000 http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8123

Certainly. But if we all had to write a compiler (as Yegge suggested once) and learn assembly before coding, nothing would get done.

I wrote a simple Basic compiler once in C and thought that was pretty damn hard. Writing compilers is not something I understand at any kind of high level. Assembly lang all programmers my age had to learn it, on chips now obsolete too I might add. It is good for simple stuff and that is about it unless ya some kind of gluten for punishment.

at least 3 of them are wildly inconsistent

That reminds me luke have ya read The UNIX-Haters Handbook yet. google it if not that is one of the funniest damn things I’ve read in a while. gotta love inconsistency. lol

The stuff you and others write about rails makes me feel I’m missing out on something :( maybe in time or if I actually had a need to learn it.

a language which would encompass and unify all these distinct domains under a single, consistent syntax and implementation…but wouldn’t something like that be nice?

Yep it would but the problem with a new language is ya gotta convince others to use it, doesn’t matter how good it is if it remains an academic curiosity or a powerful tool for the very few. In a way lisp and a few other lesser known languages fall in that category, not enough people use them. I guess alot of factors determine what makes one language popular and another not but sometime inefficient and horrid languages rule for a long time. I had to learn Cobol in college and Basic too, so believe me I know.

Reply  |  Quote
]]>
By: Luke Maciak http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8122 Thu, 14 Feb 2008 22:35:55 +0000 http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8122

If you follow Yegge logic (which I do) this equation is actually more interesting:

assembly < C/C++ < java < python/ruby < LISP

Also, number of users proficient in each of these languages follows bell curve where the line above is the X axis with java and C++ sitting squarely in the middle. :)

Also, I like the crutches too. They make things easier. :)

Reply  |  Quote
]]>
By: jambarama http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8121 Thu, 14 Feb 2008 20:18:07 +0000 http://www.terminally-incoherent.com/blog/2008/02/14/teaching-web-application-design-is-not-easy/#comment-8121

I never disagree with people inherently so much smarter than myself, like Steve Yegge. His blog posts from Amazon, as well as his recent ones are clearly insightful and right.

One thing Paul Graham wrote about somewhere, was the power of a language. Basically his premise is this:
* anything you can do in C/java, you can do in assembly/fortran
* assembly takes much longer do develop anything in than C
* C is clearly more powerful than assembly
* C is more powerful _because_ it is more efficient
* A language’s power is based on its efficiency
If this is unpersuasive, he has lots of good reasoning in there. It is like a 10 page essay, and I couldn’t help but believe him here, although I violate my “don’t disagree with smarter people” sometimes with Graham.

If this is true, rails is certainly more powerful within its scope, than any of the alternatives I know. Rails, IMHO, is sufficient for the vast majority of projects out there. If you’re going to build digg, ebay, or msn – yeah, rails will have lots of problems (scaling especially). But for a quick and dirty general purpose website, it is unbeatable.

In some sense a language doing anything for you is a crutch. All that memory management, and buffer overflow protection in java and .NET is essentially a crutch. Just like rails, if you know what you’re doing, you can probably manage your own memory better, but then you’d probably write in C.

With that said, I like crutches. I don’t want to have to worry about buffer overflows. I don’t want to optimize my code, especially when I can have a bloody compiler do it for me. Does this lead to bad practices, and shallow understanding? Certainly. But if we all had to write a compiler (as Yegge suggested once) and learn assembly before coding, nothing would get done.

Reply  |  Quote
]]>