Software Development Trends
Here is my quick overview of modern software development trends. It’s somewhat quirky, but software development is a big area, all the way from programming $0.50 PIC micros in toaster ovens to massive web services and supercomputers.
Where do I pick up these trends? From trade magazines (after applying my hype discount factor), web blogs, discussions with other programmers, and what works for me.
- Version Control and Bug Tracking that work. These are essential for good development, but I suspect that most automation developers, at least at small companies, still do not use them.
- Design Patterns – a good way of talking about software architecture.
- Unit testing and Test Driven Development – somewhat hard to apply to automation software, but definitely making waves right now in desktop and web development.
- Refactoring – restructuring and improving existing software, instead of doing a ground-up re-write.
- Agile Development – iterative, customer focused development instead of BDUF (Big Design Up Front).
- Dynamic languages – allow rapid development, better re-use of existing components, run time customizations.
- Mixed language development – use appropriate tool for the job. A desktop example is Adobe Lightroom, written in Lua and C. I do a lot of this (especially when including IEC 61131 as a language)
- Web technologies – interesting stuff, but I think factory software developers should not get caught up in the hype.
- Open Source – some very good products to add to your toolkit.
I plan on discussing many of these techniques in the future, using concrete examples of the tools I use and like. For example, I will use Subversion when discussing version control.
Tony
Related posts:
0 comments
Kick things off by filling out the form below.
Leave a Comment