Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
When did it get so hard?
Message
General information
Forum:
Technology
Category:
Other
Miscellaneous
Thread ID:
01605298
Message ID:
01605305
Views:
50
>The Appalachian Trail, created in the early 1900's, was an efficient trail that bypassed most mountain peaks. Over the years, however, the A.T. has been re-routed to go over the top of more and more mountains making it substantially more difficult than it originally was. One of the earliest thru-hikers hiked the entire trail in the 40's. This same person thru-hiked the trail decades later, after all the re-routing over mountain tops, and upon completion inquired, "When did it get so hard?".
>
>This is what I think about software development, specifically web development. When did programming get so hard?
>
>Let's say you're starting on an asp.net MVC 5 project. You need to:
>1. Learn C# (or VB.net but really, C#)
>2. Choose an ORM (NHibernate, etc.) and learn that
>3. Learn T-SQL because ORM's often produce really bad T-SQL for queries
>4. Javascript
>5. JQuery because mostly you don't want to write javascript directly
>6. CSS - enjoy this hell (http://img.pandawhale.com/post-18529-Yes-mlkshk-1nAi.gif)
>7. JQuery UI because why reinvent the UI wheel
>8. Bootstrap, because CSS is a giant PIA and this gives you a good framework for responsive layouts.
>9. You probably want to implement some Single Page Application techniques so learn Angular, Knockout, etc.
>10. Struggle with browser incompatibilities and inconsistencies that the above frameworks are supposed to insulate you from.
>11. Figure out how to automate testing on all the different layers (api, UI, etc.)
>12. But wait, there's more I haven't even touched.

Hard to argue that list if you're working with the MS stack. You could probably add TypeScript/CoffeeScript as well.
Of course, if you could use node.js/mongodb the first three items would disappear :-}
Re: Items 6-9 incl : Even given the learning curve you'd spend a lot more time getting the same functionality without them
Re: Item 10 : You'd have a lot more inconsistencies to struggle with without them.......
Re: Item 12: Test in production. After all it's easier to fix things for a few thousand users on the web than for 100 desktop apps ;-}

>Over the last 3 decades the only thing we've managed to do is come full circle with the Server + Dumb Terminal paradigm only we've made it way, way harder on the programmers. Awesome.

To be fair the low point of 'Dumb Terminal' was static HTML pages. Items 5-9 are all aimed at putting more responsibility on the browser.

BTW, if you are using Angular then you don't really need MVC, Razor etc. - just static HTML and some WebApi to serve up the models.
Previous
Reply
Map
View

Click here to load this message in the networking platform