Web Language Processors
Just like last week, today we read an article by Ariel Ortiz, our very own professor, titled Building Server-Side Web Language Processors. In it, he describes the advantages and disadvantages of teaching students how to design a compiler that can be run right on the browser.
When I first started the major, while I had some experience programming, I hadn't done anything related to web development besides taking a very simple introductory course in HTML from Codecademy after watching a Code.org commercial in 2013. While I knew how HTTP requests worked and had implemented some into code, I had never hosted any of my applications, not even locally.
Now that I'm a few months away from graduating, I've had a few more chances to play around with web development and while I wouldn't say I'm too experienced with it, I must admit it really makes a difference to be able to see the results of your work in a prettier, stylized manner. It's also been my experience with work that everything you build needs to be mounted and accessible from a browser, so for me it's been made very clear that web is very important.
That being said, I would love the idea of developing a compiler for web. For one, all of the web courses we've had have been mainly just that, web courses; we learn to design a page, make some small database, add some for loops and conditionals, throw some glitter at it to make it pretty, and call it a day. Although adding a web component to the compilers course would make it a bit more time-consuming, I think it would serve as a first real approach (for many) on how to actually combine more complex "processing" code with web.
In conclusion, I agree that web is one of the most important parts of software engineering, and at least in my case, I think its addition to most courses would be a welcome one, as it would incentivize students to put more effort into the project (not that this particular course needs it, as our professor is already very good at making classes dynamic and relevant), and provide an overall more complete learning experience.
Comments
Post a Comment