Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I started my programming career a long time ago when I was 14 years old, and I started with a book by James Lee, suggested by a Unix Systems Administrator I met in Barnes and Noble. In a month I had digested that sucker, bought a set of carrier grade servers, and had an AMP stack running -- but never used PHP. The wonder of Perl absolutely captivated me, and I loved it.

After learning everything I needed to know about HTML and hosting websites, and making that HTML content dynamic with Perl, and parsing input with regular expressions -- and, admittedly, that also included hacking a couple of HTML files with regular expressions, blissfully ignorant to grammars, let alone Chomsky hierarchies -- cutting my teeth on that stuff was fantastic, especially after I learned to make money with it.

It got better and better, but before long; alas, I discovered a new baby. Yes, the evil of the evil, C# and it occupied my attention for a very long time. Oh the joys of static application development captivated me, and before long I had forgotten the whole motivation for me to program: it was no longer about money, but about the intellectual desire and will to hack at problems, and most importantly, make pretty much every single math problem my ... well, not so much.

I got out of the whole thing and it wasn't too long before all these standards changed and a boxed website -- which was really never acceptable -- was absolutely positively, well, done. I worked in my field doing everything from botting apps to scraping html webpages regular expressions, and doing computer repair too. I wanted to do this for a living. So I went to college for it, B.S. Computer Science, yep, that's me. Junior year I found out that I was basically a math major, and lo I wasn't frightened because Computer Science reinforced the math and vice versa: I learned to appreciate the same abstraction and formality that I absolutely loathed when I first cut my teeth with Perl -- "object orientation?! who needs it!"

In a year I'm going to leave this school and seek employment in my field, and I've come to the crude and harsh realization that not if but when I go back out there, less blissfully ignorant of what it means to compute, people are going to want me to develop webpages. I've dodged the bullet so far, but some of my peers haven't -- they seem to actually enjoy coding in the non-homogeneous, parse-html-with-regex, hack modules, PHP wonderland of rubbish and javascript, ..., nonsense that is all contained in that whole world. There's answers everywhere: "use joomla," "use wordpress," "heroku/ruby on rails," ..., all of which gets some of these people super excited. Perl is the outlier, and it is such a wonderful language.

They're going to want me to make the logo their 8 year old drew in MS Paint look gorgeous when I get stuck trying to vectorize that sucker and plug it into a website and clean it up; they're going to want me to change specifications at every possible turn; and they're all going to want some PHP/ASP.NET nonsense to construct it.

I'm just absolutely cringing at the thought of being made to develop websites, my brain is just nop sliding me into the financial dooms of programmer hell. I need to know how people at my level or higher console themselves into creating gorgeous and clearly well thought out websites.

How do I start over and fall in love with website development, again? Is there a python from website import awesome utility or something that I can use? Where do I go?

Edit: I've read a lot of comments about this thread, and yes it is long, but I can't think of any material to cut -- I'm really trying to voice my frustration here. Let me clarify a few points though.

I don't loathe object orientation, or PHP, and I sure don't have any problem with the more mathematical and formal portion of programming. As far as my math stuff, I'm up to snuff with it. It's funny that one of you mentioned quantitative finance because I have a client with a passion for futures trading; however, at the end of the day my company hired a programmer capable of generating gobsmacks of garbage code so it can be put on a website.

To make matters worse, the magnitude of garbage code ... to put it in car terms, it is like riding in the passenger seat with a newly licensed 15 year old driver -- with a manual transmission -- somehow we all get to the grocery store. Yes it works, but the transmission is shot and I need a shower by the end of it all.

Web development just seems, well, so unnatural. Going about writing a webpage is as painful for most programmers as reading this post: long, verbose, roundabout the point, and at the end of the day some clever parser figures out what it all means and puts the discombobulated mess into a format the browser can understand. Cheeky, right? Gears are ground down to stubs by the time Javascript lubes it all together. How verbose? Well, let's say that six Linux kernel have less code that your grandma's 6 page website at this point -- there's a Joomla module for that, but you have to have a commercial license to post more than 6 cat pictures at a time.

Something as simple as email address validation can perhaps only be compiled into a regex (by the way, which totally is not a regex) by extended Perl compatible regular expressions -- and indeed, that thing is at least 3 pages long and would make a drunk Ken Thompson blush.

The worst part of it all is that there has got to be way better languages and frameworks for doing this kind of work. I want round boxes and edges that are beautiful, but I don't want to have to hack in illustrator for half an hour to do it just so I can load it in some div that arbitrarily positions it, according to browser specifications, in a combination that not even Bruce Schneier could enumerate.

I need closure, and the functional definition of closure would be nice, but no host will well-support anything but PHP -- assuming PHP can be well-supported in the first place. At one point I was hoping that C# would be my panacea, nope.

Maybe I'm not getting a fundamental element of web design. I attempted to get involved in the middleware side of web development, but that didn't work either. A polyglot of perl, python, and some regular expressions later and I had scraped his webpage, only to have a Joomla module butcher my beautifully normalized table.

Feel free to mercilessly edit my post at will.


ClojureScript: http://himera.herokuapp.com/synonym.html
Dancer: http://www.perldancer.org/documentation

share|improve this question

closed as off-topic by Jimmy Hoffa, user16764, MichaelT, gnat, user61852 Mar 4 '14 at 5:31

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – user16764, MichaelT, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

(1) This is very well written, but 80% of your text is irrelevant to the question. Consider editing it to make it shorter (which makes it easier and more likely for people to understand and answer your question). (2) There are many different web frameworks. Look around to see if some suit you – in Perl, look at Catalyst, Mojo, or Dancer (my favourite). (3) Nobody is forcing you to create websites, or did I miss something? There is a lot more in the world of programming than just web frontends. –  amon Mar 3 '14 at 23:40
Go to the dark side; become a back(middle?)-end services developer and your rendering worries end simply with "Which serializer library do I use to communicate with the other programs?" - That said, voting to close. Until you edit to ask a clear authoritatively answerable question. Sorry but we need actual answerable questions here that can have a correct answer - like WikiPedia, the content we have should be relevant to many more than just the participants, and not steer them wrong –  Jimmy Hoffa Mar 3 '14 at 23:42
Also - there is an absolute mass of the industry that has nothing to do with websites. You could end up in quantitative finance if you're math chops are up to snuff, you could end up doing embedded, you could end up working on the compilers team for MS or Google, there are so very many other parts of the industry than just the CRUD guys. CRUD is the largest uniform swath of the industry, but hardly the only part of it. –  Jimmy Hoffa Mar 3 '14 at 23:45
How far into the program are you? There should be tons of non-web jobs available even to interns and co-op students, whichever of the two your school has. Also, "web" jobs at Google and Amazon aren't what you're making them out to be. –  user16764 Mar 3 '14 at 23:49
@amon, I checked out Dancer. That looks absolutely fantastic, like it will actually work with GoDaddy given the extensive perl module support and the ubiquity of CPAN. It is true that nobody is forcing me to develop websites, but as Robert Harvey said, the future is moving towards the web -- I don't want to be like the old COBOL & SAS programmers at GEICO, if you catch my drift. JimmyHoffa, instead of closing this post, how about we create it a community wiki or something? I'm probing for documentation -- I know I am not the only one who feels this way. –  alvonellos Mar 4 '14 at 5:17

1 Answer 1

Web development is just now getting its second wind, and the landscape is not nearly as chaotic as it used to be, as there are actual coherent stories now involving web browsers that are, for the most part, standards-compliant and used by everyone.

HTML5 is awesome

Is there anything that HTML5 cannot do? From game designs to business dashboards, HTML5 is the wave of the future. HTML5 provides the capability to seamlessly mix different media types, and offers almost unlimited creative potential. HTML5 is the new Flash, except that you're not at the mercy of a single media company.

Write once, execute anywhere

HTML5 and Javascript can be executed on any computer, tablet or phone with an HTML5 capable browser. It's designed to scale gracefully, and gives you the ability to customize it by device type.

Native Speed?

asm.js now allows games like those that run on the Unreal Engine to execute at near-native speeds.

Industrial-strength application tools

Server applications like node.js and client frameworks like Angular now make it possible to develop web applications that are as stable, robust and nimble as their desktop counterparts. Proprietary code can be kept on the server, protected from theft.

Functional websites

If business domains and object-orientation don't float your boat, there are web frameworks available in functional languages like Clojure and Haskell that can scratch your mathematical itch.

No installation is the new normal

Who installs software on a computer anymore? Unless you're into video editing, digital audio workstations or other such domain-specific applications, your software is expected to just run on the target computer with a click of the mouse. Nobody develops and supports installable desktop applications anymore, if they can help it.

Further Reading
Top 10 Reasons to Use HTML5 Right Now

share|improve this answer
Thank you so much for such a detailed explanation, and giving a substantive source -- that article is truly awesome, and it is well-written too. Do you have any more? –  alvonellos Mar 4 '14 at 5:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.