Live data from Hacker News

Whatever happened to programming?

reprog.wordpress.com

51–60 of 113 posts

Re: Whatever happened to programming?

#51
post #13

Libraries were created so that you could focus on mastering new and unexplored territory, not to replace programmers. As a beginner, I didn't appreciate big libraries (like Cocoa). I couldn't wrap my head around the idea of having tons of prewritten code and stitching it together - I understood programming as writing code - so I wanted to write my own damn code, not just manipulate massive libraries. So I turned to P…

I think you need to really learn what sql is. It's a 4th generation language, higher level than php or other oo/procedural/functional langauges. If you're finding php and a framework to be better you're underestimating the power of sql.

The SQL statements are not the problem. The problem is turning the list of tuples you get back into a usable data structure.

Also, abstracting away SQL doesn't mean you abstract away set algebra. It means you write "$current_user->messages( text => { -like => 'foo%' })->recipients" to get a list of people the current user sent messages containing the word "foobar" to, instead of some 200-character-long embedded program in another language. A good ORM is an essential abstraction.

Re: Whatever happened to programming?

#52
post #19

Earlier quoted context omitted.

What about the very common cases where you need to do very simple things, like common CRUD operations? Abstracting the SQL required for these simple queries makes a lot of sense to me.

Sql is designed exactly for CRUD. Almost by definition there's no better way to do CRUD than sql. And about CRUD - most software should rightly be CRUD, because CRUD represents the highest level of abstraction in programming that you can get (below natural language interface of course). Sql CRUD abstracts away all hardware and software layers of the computer (the only hardware/software efficiency decision you have to…

It doesn't abstract away the fact that your application is written in terms of polymorphic objects, rather than opaque relations. It also doesn't abstract away the fact that people like to represent their data with data structures richer than "set". SQL works reasonably well for CRUD, but most web applications are not CRUD, they're online transaction processing, where relational databases just get in the way. A good object database is a much better fit. (And no, I don't mean CouchDB.)

Re: Whatever happened to programming?

#53

GCC?! Real programmers use punch cards. More seriously, abstraction is not the issue. The issue is poorly written libraries and languages that require you to worry about the small details. Your brain can handle many small details or a few big ones, but not both. I recommend picking the latter, and using libraries and languages that allow you to do so. Hint: Lisp is really pretty swell.

Lisp has libraries?

Re: Whatever happened to programming?

#54
The whole point of libraries and higher level languages is that they allow you to work at a higher level of abstraction.

As the languages and libraries improve, difficult problems become trivial, while impossible problems become merely difficult. Given enough time, problems eventually become trivial enough to be solved by non-programmers.

There will always be a frontier - problems that have barely just become solvable thanks to improvements and technology, and these 'very difficult' problems will be what the best and brightest will be drawn to.

Maybe the author is working on problems that aren't challenging enough.

Re: Whatever happened to programming?

#55

My biggest gripe with modern programming is the sheer volume of arbitrary stuff I need to know. My current project has so far required me to know about Python, Django, Google App Engine and it's datastore, XHTML, CSS, JQuery, Javascript, JSON, and a clutch of XML schema, APIs and the like. Don't get me wrong, I'm grateful for all of it, but it just doesn't seem like what I was promised when I followed SICP for the fi…

I would rather have decoupled components that improve in quality independently and are the best at what they do.

If you really want a more unified development method, look into Pyjamas http://pyjs.org/ . It's a port of google web-toolkit to python. You just write everything in python and then it compiles the javascript front end for you.

Re: Whatever happened to programming?

#56

My biggest gripe with modern programming is the sheer volume of arbitrary stuff I need to know. My current project has so far required me to know about Python, Django, Google App Engine and it's datastore, XHTML, CSS, JQuery, Javascript, JSON, and a clutch of XML schema, APIs and the like. Don't get me wrong, I'm grateful for all of it, but it just doesn't seem like what I was promised when I followed SICP for the fi…

My current project has so far required me to know about Python, Django, Google App Engine and it's datastore, XHTML, CSS, JQuery, Javascript, JSON, and a clutch of XML schema, APIs and the like.

This is the price you pay for being able to work with other people. If you never wanted to reuse anyone else's code or talk to anything else on the Internet, you would not need to know any of this. To stand on the shoulders of giants, you need to speak their language.

Re: Whatever happened to programming?

#57

Earlier quoted context omitted.

Sql isn't more than that. That's the whole beauty of relational programming, you only have to write queries and views, and this simple abstraction does most of the work that you need to do (with pl/sql or t-sql it is turing complete and you don't even need to leave the rdbms).

I don't get why some people keep praising SQL like this. SQL is great for complex queries that contain valuable logic, but it's not expressive at all when you want to do something trivial. Getting all the attributes of user X is so much more work, and harder to maintain, in SQL than it is in any ORM. "select name, pass, hash, email, realname from user where id = ?" versus session.get("User", x)

SQL is not particularly nice for complex queries, either. The underlying model is good, but the particular syntax they chose is verbose, confusing, and non-portable.

Re: Whatever happened to programming?

#58

My biggest gripe with modern programming is the sheer volume of arbitrary stuff I need to know. My current project has so far required me to know about Python, Django, Google App Engine and it's datastore, XHTML, CSS, JQuery, Javascript, JSON, and a clutch of XML schema, APIs and the like. Don't get me wrong, I'm grateful for all of it, but it just doesn't seem like what I was promised when I followed SICP for the fi…

My current project has so far required me to know about Python, Django, Google App Engine and it's datastore, XHTML, CSS, JQuery, Javascript, JSON, and a clutch of XML schema, APIs and the like. This is the price you pay for being able to work with other people. If you never wanted to reuse anyone else's code or talk to anything else on the Internet, you would not need to know any of this. To stand on the shoulders o…

I think you missed the main thrust of his complaint: back when everyone was hacking in FORTRAN and COBOL, you really didn't need to know much more than the language, its standard library, and stuff specific to the problem you were solving. At worst maybe you'd have to learn BLAS and LAPACK if you were doing numerical stuff. The APIs/overhead/junk memorization situation has been steadily worsening since then.

But at least now we don't have to take a stack of punched cards to the Priest with an Offering (bribe) and wait a day just to get a printout saying that the damn thing dumped core.

Re: Whatever happened to programming?

#59
post #28

Earlier quoted context omitted.

I'm pretty sure this complaint has existed as long as there have been programmers. If you want to program as they did in 1985, go work for a game company. Or find an investment bank looking for C++ developers; they're out there.

Last I checked, BOA in ATL couldn't find enough super good math/finance/C++ programmers, for instance.

It's because the people that are good with math, finance, and programming don't want to use C++ (or live in Atlanta). Remove the C++, and it becomes much easier to find people. Look at how successful companies like Jane Street Capital are in recruiting, for example, even though the pool of people that know OCaml is much smaller than the pool of people that know C++.

(My experience with people that know math and finance is that they do all their work in Excel. That's because simple programs become 100-file boilerplate monsters in C++ and Java, and someone told them that Perl and Python are not real programming languages. Sigh.

OTOH, turning spreadsheets into production software is profitable and enjoyable. Let the programmers program and let the finance people do finance.)

Re: Whatever happened to programming?

#60
post #8

I weep for the software industry. Our lives are going to suck in 10 years.

Computer Science is the 5th highest paying undergrad degree right now.

Also, my friend has a math and econ degree, never programmed, got a new job at a trading firm, guess what the first thing they want him to do is: learn C++.

Even if the industry goes in the shitter I guarantee programmers will be better off than 90% of the economy.

Post reply on HN