Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.
I am doing a startup!
Cross-browser testing from your browser!
I have written my fourth book!
Be faster than Larry Wall in the shell!
You're viewing a comment by Mihai Bazon and its responses.
Such a well written rebuttal of the notion of "framework"! (as opposed to "library" — we all like libraries) And then the comments...! Oh the humanity! Here I go...
@Brett — yes, you SHOULD write SQL from day one. Performance WILL be a problem and you don't want to rewrite large parts of your program when you discover that your appealing ORM makes hundreds of queries to fetch data that could have been fetched in ONE query. Embrace SQL, it's not that bad! (and I can say that from vast experience).
And the learning curve is a HUGE downside. Say you went to conferences, bought books, attend online courses to finally learn what Angular 1 is all about (service, factories, service providers and service factories, and let's not forget, transclusions! wtf is all that? https://twitter.com/mcbazon/status/401019899901792256) and then you hire a large team to write an Angular 1 app (a small team won't do, because Angular) and you invest cash and spend years to get it done. And then boom — Angular 2 is announced, which is a completely different beast.
I can't believe people are taking Angular 2 seriously by now.
@Santosh — I have nothing personally against indians and I've met a few brilliant guys, but *most* of you guys just learn to glue pieces of code from the Internet and call yourselves programmers over night, and then work for ridiculously low prices, producing crap software which eventually will be the nightmare of other developers.
If you're not a programmer, as you say, you should stop writing code. And if you do want to become a programmer, then start learning some actual computer science rather than mixing together Bootstrap, jQuery, Angular and Code Igniter into that mess you call application.
@sol — the more "solid" a framework is, the harder I'd run away from it.
@Anonymous — If I were you, I'd first learn to write. You see, rather than writing a page-sized wall of text you should try to split it into paragraphs and meaningful ideas. People like you are the reason why the vast majority of Websites out there suck so badly. YES, dammit, learn about HTTP headers and cookies instead of using those frameworks you don't really understand.
END OF RANT.
I completely agree. You can learn SQL in a day at most. And then we use different ORMs, each having a learning curve and taking more time to learn than SQL. Also the performance is not that great.
Our company has a well designed database having several hundred tables. It has been refined over years to offer incredible efficiency and performance. It is remarkably consistent in making convention and use of appropriate types. It is not unusual, except in its consistency and elegance; nothing fancy or tricky, just solid, careful design. We interview hundreds of engineers having usually CS or Masters degrees, and many senior engineers with years of experience. We interview extremely smart people. Yet a very small number of candidates are able to successfully implement the basic SQL needed to query several tables. It's not because the sample is too hard, or because the candidates are dumb. It's because SQL is hard -- not the syntax, in particular, but, like C it's a very terse and compact language used to express more than a few, indeed arguably most or all, data relationships. I "learned C in a day" after reading the book. I learned SQL in several days. But understanding how to write software, and manipulate data well is my life's work. In my 50s now, having lead many engineering organizations and written much software, I have come to see that those having great hubris, disdain and impatience are typically blind to their own ignorance (often correlated with truly brilliant, yet utterly ineffective developers). Those humble (humbled?) enough learn how to use the abstrations that minds more brilliant have created are invariably the best engineers. Using their abstractions mindfully has helped me understand that SQL I learned in a day back in 1985 quite a bit better in the intervening decades.
Now that the ranting fever is over, I will concede that ORM-s are useful, in the simple case where you need one or more rows from the same table (no joins). I don't use them to express 1-1, 1-N or M-N relationships, though, those would usually produce more queries than needed.
Bottom line is, with or without ORM-s, one has to know SQL in order to produce an acceptably fast and secure application; for example generating queries as strings and interpolating variables PHP-style, "select * from Users where id = $userid", should be strictly forbidden.
ORM-s are not frameworks, OTOH.
That is a wrong assumption. The quality of SQL learned in one day will not give you any performance win.
Please provide a base for your arguments
> hire a large team to write an Angular 1 app (a small team won't do, because Angular)
This is a bit silly. My 2 person team built a large, complex angular app that was paying our salaries after 1 year, to now (just crossing 2 years of development) paying our salaries in a month and steadily growing. I don't even like angular and I'm here defending it.
If you didn't (or don't) like Angular, what made you choose Angular? What problem you had did it solve that couldn't not be solved by other frameworks, or better yet by avoiding a framework?
Although I agree with some statements, the way it is written, the lecturing style of super-programmer, is very unappealing.
Generalizations about SQL (what if I never use SQL and ORM at all), Angular as notorious example, rant about people from India (like this type of devs isn't everywhere), finally lecturing someone for "bad" writing style.
@Mihai, you know there are 1 billion people in India? It's meaningless to make generalisations about a whole country of people. There's a word for that.
Getting a bit off topic here, but I do know what you're referring to. There are surely some very bad programmers in India. And there must be some very good ones too. And there are also bad programmers in the US, UK, every country. The point you're making is more to do with global economics and culture than level of skill.
(why do I need your e-mail?)
It would be nice if you left your e-mail address. Sometimes I want to send a private message, or just thank for the great comment. Having your e-mail really helps.
I will never ever spam you.
(Your twitter handle, if you have one.)
* use <pre>...</pre> to insert a plain code snippet.
* use <pre lang="lang">...</pre> to insert a syntax highlighted code snippet.
For example, <pre lang="python">...</pre> will insert Python highlighted code.
* use <code>...</code> to highlight a variable or a single shell command.
* use <a href="url" nospam>title</a> to insert links.
<a href="url" nospam>title</a>
* use other HTML tags, such as, <b>, <i>, <blockquote>, <sup>, <sub> for text formatting.
Type the word "lcd_508": (just to make sure you're a human)
Please preview the comment before submitting to make sure it's OK.
Peter Krumins' blog about programming, hacking, software reuse, software ideas, computer security, browserling, google and technology.
Reach me at:
Or meet me on:
Subscribe through an RSS feed:
Subscribe through email:
Enter your email address:
Delivered by FeedBurner
See all top articles
See all downloads
See more detailed list of recent articles
See more detailed category information
See more detailed list of all articles