7 ms·
> People are still typing the same Unix commands into 25x80 terminal windows. People are still using vi to edit programs as sequential lines of text in files us
by jimmaswell 13y ago
> People are still typing the same Unix commands into 25x80 terminal windows. People are still using vi to edit programs as sequential lines of text in files using languages from the 80s (C++) or 90s (Java).
Well yes, there are always people who stick to the older methods, or sometimes the situation calls for programming through a terminal window, but there have been big advancements since those methods, like the great environment of Visual Studio and such. Why do you say programming has gone nowhere because there are people who don't use the newer advancements?
- deckiedan 13y agoThat's kind of the thing... that there are other ways of programming (IDE instead of text editor), but for interesting languages, there's no clear cut proof that IDEs are actually better. For languages specifically such as Java, which have very verbose syntax, and huge amounts of boilerplate for large projects, then sure, an IDE is an improvement. But even IDEs, really, haven't much changed. And the fact that we even still can have the discussion, sort of proves that it's not that much of an improvement. The core of his argument was the sequential text in 20+ year-old languages. A radical change would be similar to how 3d materials & render chains have improved in the last 20 years. From editing Renderman text files, to the nodes system: https://www.google.co.uk/search?q=blender+render+nodes https://www.google.co.uk/search?q=blender+render+nodes That's a radical shift.
- jimmaswell 13y agoHow are you defining an "interesting" language? Just your opinion? I'd say C# is a pretty interesting and powerful language that's extremely well-complemented by VS. There's a lot more to an IDE than code generation and autocomplete (even if those are very useful and save me a ton of time). Finding all references to a variable or function (simple text searching does not do this nearly as well - the IDE actually analyzes the language and knows what points to what). Immediately letting you know if the syntax is wrong. Very visual and intuitive debugging (it goes to the line # and lets you hover over a variable to see its contents). Jumping to a variable's definition. There have been experiments with non-textual programming, such as Scratch, but it hasn't really proven to be very useful. If there's going to be some radical shift, it might come from AI and brain scanners maybe?
- _random_ 13y agoFurthermore Visual Studio let's you define custom debug visualisation quite easily: http://www.codeproject.com/Articles/13127/Create-a-Debugger-Visualizer-in-Lines-of-Code http://www.codeproject.com/Articles/13127/Create-a-Debugger-... http://visualstudiogallery.msdn.microsoft.com/eedc48e7-5169-40d3-b602-ad451990a420 http://visualstudiogallery.msdn.microsoft.com/eedc48e7-5169-... (but of course one has to think outside of the "evil MS" box)
- deckiedan 13y agoWhat I was meaning was 'very different from was done 20/30 years ago, but is actually practical, as powerful as languages from 20/30 years ago, and not just a tech demo...'. Yes, IDEs help a lot with some of those tasks. But we're really still improving programming in a very evolutionary way - which isn't bad. For sure c# is more powerful and interesting than 1990 era c++. But ultimately, it's not that different, really. To me, that's the interesting thing about lightroom, and all that stuff. We're able to explore some of the concepts of programming from the old smalltalk systems in a modern way. And maybe, we'll find ways of programming which do actually look different from the old ways. Maybe not. Visualising functions as things which we can glue together, transform, pass data through, etc. I'm very interested to see where it all goes.
- AdrianRossouw 13y agois that really better though ? not today, but in 5, 10, 20 years from now. Recent experiences have shown me that flowchart systems are really really specialized tools that require a lot of training to be able to use with a modicum of success. There are very few problem domains where I believe they provide a more accessible and expressive solution than plaintext.
- falcolas 13y ago> Why do you say programming has gone nowhere because there are people who don't use the newer advancements? Speaking for myself, its because Visual Studio and its ilk don't feel like advancements. They feel like bandaids. They do their damnedest to reduce the pain of programming by automatically producing boilerplate, auto completing words, providing documentation, and providing dozens of ways to jump around text files. Personally, I don't feel that the bandaid does enough to justify using it (granted, my main language doesn't work well with Visual Studio, so there's that too). The main source of the pain is, to me, is that we're still working strictly with textual representations of non-textual concepts and logic, no matter how those concepts might better be rendered. We're still writing `if` and `while` and `for` and `int` and `char` while discussing pointers and garbage collection and optimizing heap allocation... Instead of solving the problem, we're stuck down describing actions and formulas to the machinery. No IDE does anything to actually address that problem. Sorry, rant, but this problem certainly resonates with me.
- fragmede 13y ago> ...while discussing pointers and garbage collection and optimizing heap allocation People still do that? We still use 'if' and 'then', but higher level languages like Ruby and Python have eliminated pointers and their ilk from day-to-day discussion, relegating heap allocation discussion to the halls of specialized conferences, while many programmers go about their day-to-day activities skipping over the pain of garbage collection. They may not win language shootout speed tests, but they remove a lot of programmer pain and help with how long it takes to write code.
- maccard 13y ago> People still do that? Yeah, we do. Somebody has to manage all that memory that you throw around in your ruby/python scripts.
- doesnt_know 13y agoOf course, but I don't see how that "problem" will ever be solved. As long as a process has been abstracted, there will always be someone who has to look after that abstraction. Somebody has to design and engineer the hardware and every level of abstraction between that hardware and whatever abstraction layer the "average" developer uses.
- Zak 13y agoGiven that Chris Granger was a program manager on the Visual Studio team, it seems likely he is aware of what it provides and does not consider it an adequate solution. It may not even be a step on the path to an adequate solution.