CSE at UF |
Web Programming
The piece that makes web programming different from say standard gui applications is the web itself. You have HTML and CSS and javascript on top of frameworks and server languages and databases. Its a lot of different angles to become proficient in. Start small and work your way in. Some resources for learning more about the web.
- CSS Zen Garden - Why do we use CSS? This is why, a perfectly structured site that can look completely different with the change in a style sheet.
- w3 schools - The W3 decides web standards, though browsers are sometimes lacking in following them. They have a ton of tutorials on their site, check it out.
Becoming better programmers doesn't always involve reading books about programming. It could be a book about a developer, or a book about a methodology. Some books you all should consider reading over your break
- The Cathedral and the Baazar
- Ever heard of Eric S Raymond? This essay talks about the
differences between Open Source and traditional development. The book
contains his original essay and other articles he has written, you can
find all of his articles on his site.
- The Art of Unix Programming - Another ESR Book about the philosophies of decisions made in building unix. It can get preachy at times, but push through you'll be glad you did.
- The Mythical Man Month
- Want to be a project or technical manager some day? Read this book.
Its probably been
suggested in class and if you were like me, you ignored it as you had
three other classes suggesting 6 books a piece just like it.
- Just for Fun - The autobiography of Linus Torvolds. It is not a technical book at all, but a very good read.
- The Design
of Design - another Fred Brooks book, this one I have yet to start
but it has excellent reviews and reading the overview it sounded like a
good read for anyone in Software Development.
- Design Patterns - Very interesting book for those who love algorithm and technical design. If you've taken the Oo class its required reading.
- Joel on Software
- Joel Spolsky has worked all over the map in software development,
from programmer to manager to tech writer. He isn't
as prolific anymore, but there are some really great articles in his
archive. He is one half of the minds behind Stack Overflow and created
Trello
- Coding Horror - Jeff Atwood another almost former blogger he has been picking up momentum again recently. He is the other half behind Stack Overflow.
- Mark Shuttleworth - Started following his blog after last years UDS, he has some interesting posts on a variety of subjects.
If you have been around technology for a while you may already have a couple of technology sites that you read ever day. For me its
- The Linux Journal
- the original linux magazine
- LWN - from NickS its another source of linux news
- Ars Technica
- A great aggregator of technical and science news
- Wired - Its wired the magazine on the web
- Slashdot - another technology news website
I keep throwing out things like Code Review, Gerrit, and Jenkins during our standups. These are things that are coming down the pipeline at CTRIP, but why are they coming at all? Being a better developer involves immersing yourself in new technologies and methodologies and being able to distinguish the fads from the game changers. Use Google and Wikipedia to your advantage and look up things you are hearing in class and around the office. Some key terms to "google" that have been floating around lately
- Agile Development
- KanBan
- Bazaar
- Gerrit
- Code Review
- Testing (there are different kinds than just Unit, Integration, and Acceptance)
- Jenkins
- HTML 5
- SPARQL
- Semantic Web
- Linked Open Data
- Bio-Medical Informatics vs BioInformatics
- Clinical Trial
- Personalized Medicine
- Translational Science
You may notice that I often give you all(my team as this was originally written for just them) a vague idea of how it should work and then expect you to go find the actual solution. Why is that? Its because I have experience in other frameworks and know how to do what we are talking about in them, but perhaps not exactly in grails. Learning additional web frameworks and in other languages will often connect concepts in your primary framework that you haven't already grasped. Think of it as looking at web programming from a different angle. The perspective is different so there are differences, but their are also similarities. A couple of good frameworks to get started in:
- CakePHP (this is our other framework at CTRIP/ESE)
- Django - a python framework similar to cake and grails
- ASP.NET MVC 3
- a complete 180 from our usual style but not a bad idea to understand a
completely different viewpoint. As students you should
be able to get VS 2008 for free or use Visual Web Developer Express.
Use C# as its closest to Java. Just be careful of the differences like
toString() which in C# is ToString() ... very annoying.
- Spring
- one of the layers that Grails is built upon. Its a good idea to
learn Spring without Grails to better understand Grails itself
No comments:
Post a Comment