5 ms·
It's arguable that Excel is the most widely used "programming language" depending on your definition. If you've spent much time around certain business professi
by toby 13y ago
It's arguable that Excel is the most widely used "programming language" depending on your definition. If you've spent much time around certain business professionals, you'll see that they really push spreadsheets to do unexpected things to solve their problems.
I've actually wondered why there hasn't been more exploration into visual / declarative programming since it has the appeal of being very easy to get started.
- AdrianRossouw 13y ago> visual / declarative programming ... has the appeal of being very easy to get started Does it, really? I spent the last 2 years building systems that ran off of workflows (as in flowcharts), and I think now that they don't make the big hurdle (capability for abstract reasoning) any easier at all. They are fine to document and communicate things, but as input they are just flawed (except for some very very specific niches).
- toby 13y agoYeah, I probably used the wrong terms there. I was referring not to flowcharts, but the way Excel is used as a "see-it-as-you-go" functional language.
- AdrianRossouw 13y agoI think excel is interesting because of it's limitations, and it's short feedback loops. all it's data is ultimately tabular, and it changes visually as you work with it. That last property is one of the reasons I think that flowcharts can work in some niches (like video and audio processing).
- ericHosick 13y ago> building systems that ran off of workflows (as in flowcharts) > but as input they are just flawed The flaw is to assume there is only one mental model that Visual Programming Languages should operate under: say only workflows for example (a mistake all VPLs I've seen have done). This is like assuming that there should only be object-oriented programming when there are other methodologies we use as programmers to form mental models such as declarative programming, functional programming, structured programming, etc. It doesn't make much sense to code out mathematical equations using flow charts. A VPL which supports multiple mental models is able to best represent behavior based on specific business domains. The right tool for the right job.
- seanmcdirmid 13y agoFunctional VPLs have the same abstraction/scaling up problems as OO VPLs. The problem is that we (as human beings) don't know how to communicate very efficiently without our words, and visual embellishment is not directly useful.
- ericHosick 13y ago> The problem is that we (as human beings) don't know how to communicate very efficiently without our words, and visual embellishment is not directly useful. To me, this sounds like someone in the literary field of the arts telling an artist or musician that those fields of the arts are not directly useful. Music and art? Those visual (and aural) embellishments are not directly useful. There was a great HN post (https://news.ycombinator.com/item?id=7543691 https://news.ycombinator.com/item?id=7543691) on visually stunning math concepts. What you are implying is that coding out a mathematical equation as opposed to representing it using actual equations (http://i.livescience.com/images/i/000/036/119/original/minimal-surface.jpg?1359485766 http://i.livescience.com/images/i/000/036/119/original/minim...) is a visual embellishment that is not directly useful? > Functional VPLs have the same abstraction/scaling up problems as OO VPLs. This could be a problem with VPLs or it could be a sign of some root cause problem(s) with how we code today. Perhaps, there are better programming abstractions/methodologies that work equally well as words (source code) and as VPLs.
- seanmcdirmid 13y agoI'm all for art and music, but can you converse with it? They obviously communicate something that is quite different than "buy eggs on your way home from work." Could you communicate this to your SO without using words, using a picture or music? There is a good reason why pictionary is a challenging game. And just as well, artists and musicians are probably not very interested in communicating such utilitarian trivialities through the artifacts they create. Art is not meant to be efficiently communicative, but to influence us in other, perhaps deeper, ways. > This could be a problem with VPLs or it could be a sign of some root cause problem(s) with how we code today. Perhaps, there are better programming abstractions/methodologies that work equally well as words (source code) and as VPLs. The language center of our brains evolved 50-100 thousands of years ago, which eventually led us to technology and civilization (things really pick up after we discovered writing at about 10kya). The reason we use words for programming is that we are biologically evolved for that. Are you seriously suggesting that there might be a better way for us to communicate and express ourselves concisely?
- macNchz 13y agoExcel is very often abused and made to do things it should definitely not be doing (massive files, enormously complex formulas). In many business situations, this may only lead to frustration and lost productivity, but in finance in particular the implications can be huge(1), and a faster, more stable, testable and transparent/auditable solution should definitely be found for critical applications. [1] http://www.forbes.com/sites/timworstall/2013/02/13/microsofts-excel-might-be-the-most-dangerous-software-on-the-planet/ http://www.forbes.com/sites/timworstall/2013/02/13/microsoft...
- toby 13y agoExactly, I'd be curious to see something that gives business analysts the interactivity of something like Excel but has ways to avoid the rigid, interlinked-sheets with ridiculous formulas that seem to be inevitable in a large model.
- dllthomas 13y agoFunctional Reactive Programming has some interesting parallels, though pointing to an FRP package is clearly not a complete solution.
- pmahoney 13y agoI have dreamed of a similar thing for a long time... When I worked in a (science research) lab, we had a few Excel files we passed around for performing various calculations. These were great in that my non-computer-fluent boss could use them (and even contribute). There were a few input boxes to fill out which were run through some calculations, and the answer spit out. Pros: * Single file * Everyone has Excel installed on desktop * Accessible. Even if you're not an Excel wizard, you can see and edit the basic formulas. Cons: * Rigid grid (Any documentation, notes, etc. must fit into the grid) * Formulas are hidden, when you might want to highlight the most critical ones * If you want to calculate intermediate results (which you do, to prevent very long formulas that are hard to read), you've got to plop them in some cells * No meaningful variable names, A10:A55 what? Excel is so entrenched, it'd probably be difficult for a slight improvement to gain any traction, but it would have made my life a heck of a lot easier. And I'm by no means an Excel wizard, so there's a good chance that some of the Cons above can already be avoided... But I still want some kind of hybrid of LabVIEW and Excel.
- Nekorosu 13y agoI'm not sure what you mean by more. Visual programming was explored a lot and became a popular approach for building non-standard interactive multimedia applications. I think the most famous and inspirational piece of this kind of software is Max/MSP which started as an interactive computer music environment (created by academic) and evolved into multimedia processing/generation powerhouse. It's commercial and proprietary software but it has an open-source "cousin" called Pure Data. Both applications were created by Miller Puckette and his creations inspired a lot of more or less similar systems. One worth noting is vvvv. It doesn't have musical programming roots and uses some unique and really powerful concepts to make graphics programming easier. http://vvvv.org/documentation/of-spreads-and-slices http://vvvv.org/documentation/of-spreads-and-slices Also it's a very pragmatic system which is built and maintained by people who do really cool and sometimes complex projects. http://www.meso.net/vvvv http://www.meso.net/vvvv
- toby 13y agoThanks for pointing that out, I actually have used Max/MSP and think it's awesome, it didn't even occur to me.
- Nekorosu 13y agoYou're welcome! Oh I just remembered there was a successful kickstarter for flow-based IDE. The interesting thing here it demonstrated some interest from the general public. http://noflojs.org/ http://noflojs.org/
- adw 13y agoVisual programming languages have gone a long way in some niches, too; LabView (lab automation and experimental logging) and Max/MSP (audio and video synthesis) come to mind.
- frik 13y agoThere was, called Visual Basic 6 (1998), the best RAD tool for Windows back then. It's the full version of limited VBA that comes with Office. Instead of releasing a version 7, Microsoft scarified it in favor of dotNet Framework idea. Hundreds of thousands developers are still pissed at Microsoft in 2014 (according to Wikipedia): http://en.wikipedia.org/wiki/Visual_Basic http://en.wikipedia.org/wiki/Visual_Basic (I moved on to various other languages, but I still have VB in fond memories.)
- bsder 13y agoAnd yet, despite millions (I'm being nice, probably billions) of lines of VB6 code, not one single competitor has managed to build a business out of creating a 100% Visual Basic 6 compatible system. Looks like Microsoft was correct in their assessment of shooting VB6. Nobody using it was willing to pay money.
- bosveld 13y agoI moved from VB6 to Python.
- frik 13y agoVB was all about COM technology. It suits perfectly to work on and extend Windows and Office applications. Migrating to another RAD tool like Delphi or varous *Basic or even VB.net is not possible without starting more or less from scratch. As no other RAD tool offer compareable compatibility and most even do not support or are COM based.
- bsder 13y agoHogwash. It's perfectly reasonable to make something that would be compatible. It's not even that hard. There's just no money in doing so. People used VB6 because it was easy and cheap. They're not going to suddenly turn around and start spending 7 figure sums of money. They'll just hobble along until they don't make a computer that can run VB6 and Windows XP any longer.
- Rusky 13y agoA couple of recent, interesting explorations: Subtext (http://subtext-lang.org/ http://subtext-lang.org/) - in particular check out the video on "schematic tables," which is very immediate and direct like Excel but better for general purpose. Some of Bret Victor's work: Inventing on principle (http://vimeo.com/36579366 http://vimeo.com/36579366) Media for the Unthinkable (http://worrydream.com/MediaForThinkingTheUnthinkable/ http://worrydream.com/MediaForThinkingTheUnthinkable/) He has a lot of examples of similar interfaces for more domains than just what Excel is good at. Another example, although much less so, is Unity's editor- property editing and level editing are very immediate and visual even for things like behavior.