Live data from Hacker News

Whatever happened to programming?

reprog.wordpress.com

21–30 of 113 posts

Re: Whatever happened to programming?

#21
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.

By that example, I meant to highlight the DRY aspect of programming and how I realized, as an early beginner at the age of 15, that frameworks and libraries provide a good foundation so you can focus on more complex issues.

The SQL I kept repeating in that application was simple CRUD functions on MySQL tables. I know that SQL is so much more than that.

Re: Whatever happened to programming?

#22
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…

Where does mathematics come into play in your evaluation? I just spent last quarter on discrete mathematics and digital design and it has given me a different perspective on programming in my learning experience.

I wouldn't call myself a programmer yet ( Joe Hewitt has made that apparent to me: http://twitter.com/joehewitt/status/9813494038 ), but it seems like modern software engineering is a form of alchemy now. I thought a software product is a combination of different mathematical techniques, but translating that into code seems so cumbersome (taken into consideration that I've learned and had experience in my choice of programming language and framework, which is also a major task on its own).

Re: Whatever happened to programming?

#24
The problem is not that libraries exist, but the incredible mental investment required to use them. Early libraries were just bundles of functions, but modern libraries are vast, complicated beasts that require years of experience to fully grok. But don't take too long, because they all exist in a state of perpetual churn, and hitching yourself to the wrong train could well destroy your career.

Re: Whatever happened to programming?

#25
post #19

Earlier quoted context omitted.

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.

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 make is where to declare indexes).

Re: Whatever happened to programming?

#26
Is this an indictment of frameworks or merely an indictment of bad frameworks? I've worked with both. Trying to manhandle JAX-RS into marshalling your objects in exactly the right fashion such that the XML parser doesn't barf on them is not exactly uplifting work... but it did get something done for my customer.

Working with well-designed frameworks, though, is a true joy. It means I spend a minimum of time on plumbing and spend the majority of my efforts solving problems for my customers or otherwise doing high-value work. I understand there are folks out there who love socket programming, but I've done socket programming, and I have no desire to ever touch it again. Good HTTP clients, REST, etc make that totally unnecessary for the types of problems I routinely have to solve. (Speaking of good frameworks versus bad frameworks -- even in Big Freaking Enterprise Java there is a titanic gulf between ways to implement web services. RestEasy is probably the best architechted framework I've ever seen -- it is so good you can forget you're using a web service at all.)

My next business will need to make telephone calls. There is a whole lot of very ugly coding necessary to make that happen. Happily, Twilio has apparently already done it for me. I'll just snap together Twilio and Rails to be able to make the customers' phone ring, and concentrate on delivering the smart part of the service, which is that making sure what happens after the phone rings solves a real problem that is preventing their business from making money.

Re: Whatever happened to programming?

#27
post #21

Earlier quoted context omitted.

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.

By that example, I meant to highlight the DRY aspect of programming and how I realized, as an early beginner at the age of 15, that frameworks and libraries provide a good foundation so you can focus on more complex issues. The SQL I kept repeating in that application was simple CRUD functions on MySQL tables. I know that SQL is so much more than that.

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).

Re: Whatever happened to programming?

#28
post #8

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

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.

Re: Whatever happened to programming?

#29
post #26

Is this an indictment of frameworks or merely an indictment of bad frameworks? I've worked with both. Trying to manhandle JAX-RS into marshalling your objects in exactly the right fashion such that the XML parser doesn't barf on them is not exactly uplifting work... but it did get something done for my customer. Working with well-designed frameworks, though, is a true joy. It means I spend a minimum of time on plumbi…

I think it's more an ode to "plumbing". From your tone, I get that you don't see much value in or get much enjoyment from writing a parser, or doing pixel-level image manipulation, or writing extensions to your editor to gete it set up just perfectly, or trying to get your code to fit in a 64k segment, or debugging hardware drivers. But some of us do.

We're just different. For you, and most modern programmers, there isn't much value in that stuff, and you don't want to have to do it. And, in the modern world, the truth is we don't have to except in the rarest of circumstances.

In the modern world, developers (they aren't called "programmers" anymore, it seems) have the freedom to worry about prioritizing "high value work" to solve their customers' problems. But it wasn't always that way.

For some of us, that kind of sucks.

Re: Whatever happened to programming?

#30
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 first time. It just feels like I spend most of my time scouring through documentation and trying to remember umpteen different sets of syntax and class names rather than actually thinking in code.

Back in ye olden days, most programming tasks I performed felt quite natural and painless, just a quiet little chat between me and the compiler. Sometimes longwinded, sometimes repetitive, but I just sat and though and typed and software happened. The work I do these days feels more like being a dogsbody at the tower of babel. I just don't seem to feel fluent in anything much any more.

We talk about 'flow' quite a lot in software and I just have to wonder what's happening to us all in that respect. Just like a conversation becomes stilted if the speakers keep having to refer to their phrasebooks and dictionaries, I wonder how much longer it will be possible to retain any sort of flowful state when writing software. Might the idea of mastery disappear forever under a constant torrent of new tools and technologies?

Post reply on HN