8 ms·
Yes, because that's all Rails (and the other frameworks) do. They obsfucate HTML and put a thin wrapper around SQL You always have the option of dropping down
by gfunk911 16y ago
Yes, because that's all Rails (and the other frameworks) do. They obsfucate HTML and put a thin wrapper around SQL
You always have the option of dropping down into straight HTML. This is one of the things I love about Rails. Also, he forgot all the other things these frameworks handle, which constitute 95% of what they do.
Yes, there are people out there who couldn't write straight HTML if they had to, and have never heard of an inner join. We call them bad programmers. Guess what: they're everywhere.
EDIT: Obviously this only applies to people who work in web development, or other domains where SQL and HTML are important parts of their domain. If you do low level systems development, write device drivers, do kernel development, etc, you're not a bad programmer cause you don't know HTML.
- RiderOfGiraffes 16y agoYou'd call someone a bad programmer just because they can't write straight HTML? You'd call someone a bad programmer just because they've never dealt with databases? Interesting.
- rue 16y agoWith those actual examples, it would be highly unlikely for them to be good programmers.
- RiderOfGiraffes 16y agoI know, personally, at least 3 exceptionally good programmers who can't write HTML and don't know what an inner-join is. They are gifted at system design and architecture, they write code that's clean, fast, understandable, and has very few bugs, and their code is delivered on time and to spec. But they've never written a web page, never bothered to look behind web pages, and don't know the syntax. I'm sure they'd be great if they chose to learn the syntax, grammar and elements, but they've no need. They certainly know about mathematical logic, and almost certainly know the concept of an inner-join, but they've never dealt with relational databases, and certainly not SQL. I'm pretty sure you can't be a good web developer without being about to write at least a little straight HTML, and without knowing the differences in use and performance of the different types of join, but even then I'm not convinced. Just speaking from my experience. It seems to me that sweeping generalisations such as "Can't write HTML => bad programmer" says more about the speaker than the subject.
- krschultz 16y agoAnd they're web developers? I don't think you can read the OPs message in any way other than that it applies to web developers even before his edit.
- RiderOfGiraffes 16y agoNo, they're not, and I didn't intend to imply they were. My comment was originally intended to point out that there are other types of programming than web programming, and that sweeping statements about people being bad programmers are misplaced when they're not properly qualified and contextualized. The "discussion" got out-of-hand, and it's too late to try to write something balanced and conciliatory.
- rue 16y ago> Just speaking from my experience. It seems to me that sweeping generalisations such as "Can't write HTML => bad programmer" says more about the speaker than the subject. I will yield to your experience, and certainly do not suggest that it is impossible to be good without a grasp of the two technologies. My instinct, however, is that not knowing HTML (which I define as understanding the structure and basics, not complete mastery of XHTML 2 tags or something of the kind) shows an alarming lack of curiosity especially given how dominant web-based technologies have been in the last 6-7 years or so. Understanding databases and SQL (again, no mastery needed), on the other hand, seems like an exceptionally useful thing to have in your toolbox. How do you evaluate data storage options without having some working knowledge of databases? They are also both relatively cross-cutting for the field of software development, not specialised niches. Now, the guys and/or gals you know probably are great programmers: but I think a very small time investment in the two subjects would be quite beneficial. Edited for grammar and added 2nd last paragraph.
- hugh3 16y agoI know how to do the <i> and </i> tags, does that count as knowing basic HTML? Seriously, I think people might be showing a certain myopia in this thread, believing that the subfield that they're working on is all there is, or at least all that matters. If you want someone to write an iterative eigenvalue solver for a large sparse matrix in Fortran, I'm your guy... but my HTML is at the level of circa 1997 "Look at my awesome <blink>web page</blink>".
- aplusbi 16y agoI spent the first 4 years of my career programming video games for the GBA and NDS. I knew basic HTML at that point, but I had barely ever worked with databases. I knew how to select something from a database but that's it (didn't know about joins, for example).
- donaq 16y agoWell, not HTML, but I would maintain that any programmer who hasn't dealt with databases is either a newbie or a bad programmer. Any web programmer who can't write straight HTML is most definitely a bad one.
- RiderOfGiraffes 16y agoOK, so I'm either a newbie or a bad programmer. I've been programming since 1978, so I guess I'm a bad programmer. Hmm. I write safety-critical software for embedded processes and distributed systems. Perhaps I should be concerned at your judgement.
- donaq 16y agoI think you have misread me. And while my knee-jerk reaction was to meet snark with snark, I shall resist the temptation. If none of your software has ever read from or written to a source of persistent data, I think you should be concerned. :)
- kranner 16y agoPlain old files are perfectly valid sources and sinks for persistent data, if you don't need all the other features of a database.
- philipkimmey 16y agoI interned this summer in a genetics lab, and was shocked the extent to which this is the case. Both the input and output files are absurdly huge, so I'm not sure anything else would've been viable, but still, at least as a student it always seemed like there should be "some other way." After a week or two of getting to know the system, for clarification I asked: "You mean this entire sophisticated system is just some Perl, with a database that keeps track of the flat files?"
- protomyth 16y ago
- markkanof 16y agoIn the realm of web development (which the OP is), most developers have probably done at least some HTML and SQL. Sure there are folks who work at larger organizations where the SQL may be done by a different group than the web stuff, so maybe bad programmer is making too many assumptions. Maybe programmer with very limited scope.
- deleted 16y ago[deleted]
- joezydeco 16y agoLots of embedded programmers I know don't consider web development as "programming". Just sayin'.
- jrockway 16y agoLots of people think the sun revolves around the Earth. Just sayin'.
- X-Istence 16y agoIt doesn't? This is news to me, do you have anymore information for me? I am in intrigued as that would change the entire model of the universe I have right now. </sarcasm> I've seen some web development in the past that was absolutely horrid, and I hope that after that project not a single programmer has to EVER touch code like that again.
- pavel_lishin 16y ago> I've seen some web development in the past that was absolutely horrid What's your point?
- X-Istence 16y agoThat web developers don't necessarily fall in the realm of software development/engineering. I should have finished that post, I just kinda left it hanging. Something else came into mind at the time and I mindlessly hit submit.
- JoachimSchipper 16y agoIt's certainly possible to be a good programmer but to not have picked up HTML, but come on - making a simple web page is easy. A competent programmer should be able to pick it up quickly. (Note the "simple", though.)
- Tichy 16y agoMaybe they never felt the need to do it?
- JoachimSchipper 16y agoHence "pick up".
- tel 16y agoC'mon HN! This is DH3 at best. Don't let your egos get the better of your words. The obvious domain generalization is a much harder (but hardly impossible) statement to argue: Yes, there are people out there who couldn't <use basic building block of their field> if they had to, and have never heard of <some atomic concept they implicitly use every day>. We call them bad programmers. Guess what: they're everywhere. So the question becomes "if you only know how to function within some high level of abstraction are you effective at what you do?" I'd suggest that this holds pretty well if the level of abstraction you're using is too leaky. I don't have the slightest idea how to time an HD seek operation, but I can write to a file with a great deal of robustness. I think the op has a point though that if you operate mostly with RoR you might be ignorant to a non-trivial amount of detail which will relegate your work to being lower quality. My personal belief is that "web frameworks" aren't a sufficiently compartmentalized level of abstraction. RoR holds the opposite philosophy (evidenced by marketing and the opaqueness of Active Record, for instance) which causes a great deal of impedance when you have to dive into lower level concepts which were supposed to have vanished via RoR. So I agree with the op in that if you can only create things using RoR abstractions, you'll probably be in trouble before too long.
- mfukar 16y agoI can't write HTML off the top of my head. Go ahead, judge my work.
- deleted 16y ago[deleted]
- jerf 16y agoActually, at work I am currently engaged in a bit of a war to convince people that outputting HTML is not easy and in fact is quite challenging to get correct manually. Because people who think outputting HTML is as simple as printing out the tags write cross-site scripting attacks by the dozens. Arbitrary command injections and SQL injections follow just behind. Outputting something that looks like HTML enough to please a browser is easy. Outputting correct HTML that isn't a CERT entry waiting to happen is actually very hard. Though this still boils down to an argument that you ought to know what you're doing at the base level of what's going on, when I see people just slamming out HTML in string concatenations and variable insertions I generally consider that evidence that they only think they know what's going on, not that they actually do. If you aren't using some sort of safe+sane HTML generation wrapper you're suicidally betting on having superhuman levels of discipline if you expect to not write security holes.
- enduser 16y agoWhile one can't count on superhuman levels of discipline, correctness (i.e. discipline) is still a trait to look for. Rapid development goes faster if programmers are not rapidly iterating over their logical/structural mistakes.
- runjake 16y agoYou might more correctly say that Rails "abstracts" HTML, JavaScript (on multiple levels) and SQL (via an ORM).
- runjake 16y agoWhat's with the downvotes? That's the purpose, it's to provide an abstraction layer, not obfuscate.
- jarin 16y agoBoy, C programmers really get riled up when you suggest that anything with a higher level of abstraction is good (heaven forbid you mention an interpreted language). I wonder if assembly programmers do the same thing when you bring up C.