The Salt Lake City chapter of Girl Develop It held a roundtable discussion on Sunday, October 26th. The topic was Terminology in Technology and we had a great discussion covering many topics, including:
- What is the difference between jargon and technical vocabulary?
- What does it mean to refer to the problem domain?
- What is an API?
- What’s the difference between a text editor and an IDE?
- What’s your favorite text editor?
- What’s your favorite IDE?
- What is an endpoint?
- What’s the difference between an endpoint and a route?
- What is a compiler?
During the discussion, I mentioned a number of resources that I thought I would discuss and link here.
The general subject of jargon and technical vocabularies within problem domains, companies and teams led me to mention the topic of ubiquitous language from the book “Domain-Driven Design: Tackling Complexity in the Heart of Software”, by Eric Evans. This book is a great discussion of how to bridge the gap between developers and business analysts, marketers and domain experts. The material is presented as a pattern language with a cargo shipping application used to tie together the patterns in context. Eric Evans wrote Domain-Driven Design in 2003; since then quite a bit of experience with the patterns has been accumulated. In 2013, the book “Implementing Domain-Driven Design”, by Vaughn Vernon, was published. It complements Domain-Driven Design by condensing the ten years of collective experience in using the patterns of domain-driven design, providing a bridge between the high-level patterns and the day-to-day business of writing code.
The subject of favorite text editors and IDEs is one that is always sure to generate plenty of opinions. Over the years I have used a number of different editors and IDEs. I started with simple line-oriented editors on printing terminals connected to time-sharing minicomputers. My favorite editor in that environment is TECO. The next editor I learned was vi, while editing programs on CRT based terminals unix machines during college (vim is a modern variant of vi). In graduate school I started using graphical workstations and switched to using emacs (originally implemented as a set of editor macros for TECO). The larger screen real estate of a graphics workstation was more suited to the split window environment provided by emacs. When I started my first job working on Windows software, I learned my first IDE: Visual C++ 6. Since that time, I’ve continued to use Visual Studio as well as other IDEs such as Xcode, Eclipse and IntelliJ. My recommendations for IDEs differ based on your programming language, but most share one common thread: they are JetBrains products. I am far from alone in making the recommendation to use JetBrains products.
|C/C++||Visual Studio with Visual AssistX|
|C#||Visual Studio with ReSharper|
I look forward to the next GDI PseudoCode and Coffee roundtable discussion, it was quite enjoyable!