Download PDF version of this article PDF

What's on Your Hard Drive?

Welcome back for another installment of “What’s on Your Hard Drive?” where you tell us about the tools you love, the tools you hate, and a category that’s recently grown in popularity: tools that you both love and hate. And by tools we don’t just mean pieces of software; feel free to express your love and/or hatred for both IDEs and the programming languages we use within them.
Programming language allegiances are usually much stronger than tool preferences, so this is bound to make for some heated debate over at www.acmqueue.com, where you can both submit to WOYHD and comment on others’ submissions.

Who: Dave Wingate
What industry: Education
Job title: Software developer
Flavor: Develops on Linux, Windows for Linux, Windows
Tool I love! DbVisualizer. This tool flatters my intuition. Whenever I’m working with a database and think, “There really ought to be a tool to ­­___________,” DbVisualizer usually has what I need.
Tool I hate! ClearCase. It seems I can’t even sneeze without inadvertently hijacking a file from this source control utility. Combine that with the tool’s scant documentation and you’ve got a recipe for aggravation.

Who: Duane Dixon
What industry: Education
Job title: Certified network specialist (CNS)
Flavor: Develops on Windows for Windows
Tool I love! ColdFusion Studio 5. I love the many helpful tools, such as the color-coded tags and the shortcut keys for tags that are used rather frequently; and that the interface is intuitively laid out. I just like the simplicity of the entire program.
Tool I hate! FrontPage. I am not especially keen on tools that write the code for me, though I do use Macromedia’s Dreamweaver on occasion. I don’t like FrontPage because of the sloppy code that it generates and the fact that it uses nonstandard tags.

Who: Sancho Neves-Graca
What industry: Technology vendor
Job title: Software developer
Flavor: Develops on Windows, Mac OS X for Windows, Mac OS X
Tool I love! Mathematica. It’s a powerful technical computing platform that allows rapid prototype development with an elegant symbolic language inspired mostly by C and Lisp. Its notebook interface encourages exploratory programming with text and code all in a single document, which can be wrapped up as a self-contained package.
Tool I hate! C++. It’s a superset of C full of good intentions but that ultimately just extends the complications of a good procedural language with OO principles and does little to reduce code bloat.

Who: Fredrik Tolf
What industry: Education
Job title: Student
Flavor: Develops on Linux for Posix
Tool I love! Emacs. First of all, it does what I want as opposed to what it wants. And if it doesn’t, I can easily make it. Second,
it builds on Lisp, one of the most elegant languages in computing history (which is, of course, what makes it fulfill the first condition).
Tool I hate! Java. It’s unnecessarily complex and, in particular, crufty. It qualifies as neither an elegant language nor a “do-what-I-want” language. It qualifies only as an “intuitive” language for inexperienced people (which I don’t count myself as).

acmqueue

Originally published in Queue vol. 3, no. 6
Comment on this article in the ACM Digital Library





More related articles:

Nicole Forsgren, Eirini Kalliamvakou, Abi Noda, Michaela Greiler, Brian Houck, Margaret-Anne Storey - DevEx in Action
DevEx (developer experience) is garnering increased attention at many software organizations as leaders seek to optimize software delivery amid the backdrop of fiscal tightening and transformational technologies such as AI. Intuitively, there is acceptance among technical leaders that good developer experience enables more effective software delivery and developer happiness. Yet, at many organizations, proposed initiatives and investments to improve DevEx struggle to get buy-in as business stakeholders question the value proposition of improvements.


João Varajão, António Trigo, Miguel Almeida - Low-code Development Productivity
This article aims to provide new insights on the subject by presenting the results of laboratory experiments carried out with code-based, low-code, and extreme low-code technologies to study differences in productivity. Low-code technologies have clearly shown higher levels of productivity, providing strong arguments for low-code to dominate the software development mainstream in the short/medium term. The article reports the procedure and protocols, results, limitations, and opportunities for future research.


Ivar Jacobson, Alistair Cockburn - Use Cases are Essential
While the software industry is a fast-paced and exciting world in which new tools, technologies, and techniques are constantly being developed to serve business and society, it is also forgetful. In its haste for fast-forward motion, it is subject to the whims of fashion and can forget or ignore proven solutions to some of the eternal problems that it faces. Use cases, first introduced in 1986 and popularized later, are one of those proven solutions.


Jorge A. Navas, Ashish Gehani - OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program Specialization
OCCAM-v2 leverages scalable pointer analysis, value analysis, and dynamic analysis to create an effective and efficient tool for specializing LLVM bitcode. The extent of the code-size reduction achieved depends on the specific deployment configuration. Each application that is to be specialized is accompanied by a manifest that specifies concrete arguments that are known a priori, as well as a count of residual arguments that will be provided at runtime. The best case for partial evaluation occurs when the arguments are completely concretely specified. OCCAM-v2 uses a pointer analysis to devirtualize calls, allowing it to eliminate the entire body of functions that are not reachable by any direct calls.





© ACM, Inc. All Rights Reserved.