News for hackers. Stuff that matters.
Re:The Future of Software Is No Code by Verdex_3 on Monday April 23, 2018 @10:50AM (#16903853)
They've been trying the "let end users code in an impoverished pseudo programming language" for a long time and at best it only ever takes over small niche. And they still need real programming languages and software engineers to help them overcome their problems when they try to scale, extend, or encounter a problem that's too complicated.

There are two things here. The first is sometimes programming languages are harder than they have to be and the other is that sometimes problems are hard.

1) Yeah, C++ is really complicated and you could probably replace it with language that was less complicated, but if you're trying to do something in the C++ problem space then you're still going to require a lot of difficult thought with respect to your problem, your solution, and the machine it's implemented on. You're not going to get away from writing driver code with a no code solution.

2) If you want to do arbitrary things, then eventually you'll need something that's turing complete (or really close to it if you're going to talk about things like Idris or Agda). A no code solution might be able to handle things as long as you follow a very carefully constructed path, but eventually your users are going to have reasonable requests that no code solutions won't be able to solve because if they could they would just be programming languages unto themselves.

If you're telling me that eventually CRUD apps will be mostly automated away, then I believe you. If you're telling me that eventually software engineers won't be needed then I'll see you in line at the unemployment office because the last two jobs to be made obsolete are software engineers and youtube personalities (and last I checked they're working on automating youtube personalities).

Re:The Future of Software Is No Code by meredydd on Monday April 23, 2018 @11:55AM (#16904513)
I think there's a third issue you didn't mention: Ecosystem/framework complexity.

Writing a device driver in C is complex, sure, but pretty much all that complexity comes from the problem domain. C++ adds a little more incidental complexity, but if you use it to write a device driver, you're still mostly fighting "how my computer talks to hardware" - and at least that's the correct fight to be having.

But if you're writing a CRUD app for the web, the incidental complexity is off the charts. Five different languages (HTML/JS/CSS/{Ruby|Python|Whatever}/SQL), three or more frameworks (Bootstrap/React/Redux/Django/SQLAlchemy)...and you haven't even deployed yet.

There should be a middle position between "impoverished pseudo programming language" and "here's your five-layer web stack, have fun". If your app is basically three "if" statements and a "for" loop with some UI on top, I agree that you should write those statements in a real programming language. But you shouldn't need three layers of framework on top, just to put them in front of a user!

I think this is what everyone is talking about when they bring up VB and Delphi in this thread. I don't think that "Delphi for the web" is an impossible goal - and I've put my money where my mouth is, by building a sane development platform for the web - https://anvil.works. You do everything in one language (Python), with proper tooling support (hello, autocomplete!), and skip the BS.

(On the other hand, perhaps this is what you meant by "CRUD apps will mostly be automated away". If so, it's only in the sense that my time is being "automated away" when I use a GCed language rather than malloc.)

Re:The Future of Software Is No Code by woah on Monday April 23, 2018 @03:01PM (#16906378)
Sounds like.......... a framework
Re:The Future of Software Is No Code by TomK32 on Monday April 23, 2018 @04:38PM (#16907172)
which hides away complicated things like sql behind an more accessible api...
Re:The Future of Software Is No Code by Koshkin on Monday April 23, 2018 @06:52PM (#16908204)
> complicated things like sql

Heh, SQL (formerly SEQUEL) is the 'structured English query language', designed to be simple enough for anyone who knows a bit of English - not unlike Cobol.

Re:The Future of Software Is No Code by TomK32 on Tuesday April 24, 2018 @03:52AM (#16910733)
Yes sure, but when you start one language having to learn another just to store and retrieve data is a lot to ask.

And of course once you progress with your data needs you get into more complex aspects of the language where the simplicity of the language isn't as important as the concepts and ideas it does express.

Re:The Future of Software Is No Code by bewo001 on Tuesday April 24, 2018 @09:29AM (#16912377)
AFAIK the idea was that SQL is so close to plain English that any accountant could simply use it to generate reports or enter data. It's really an old fallacy that using plain language would make complexity go away.
Re:The Future of Software Is No Code by yellowapple on Monday April 23, 2018 @10:14PM (#16909336)
> SQL (formerly SEQUEL)

Off-topic, but today I learned I've been pronouncing it as originally intended all this time.

Re:The Future of Software Is No Code by fao_ on Monday April 23, 2018 @04:57PM (#16907316)
In other words: https://xkcd.com/927/ (XKCD: Standards)
Re:The Future of Software Is No Code by wgerard on Monday April 23, 2018 @11:32AM (#16904292)
Hmm, yeah I'm similarly skeptical as someone who did his fair share of LabVIEW for a research lab back in the day.

I would regularly get asked to do things in LabVIEW that were (sometimes quite literally) impossible to do without writing some C code. More than a few programs basically became wrappers around C libraries.

That's to say nothing about the unwieldy LabVIEW monstrosities that I'd regularly get asked to take a look at because they were complicated as hell. Massive programs, mostly because of copying and pasting. While you can wrap things up in functions and subroutines and etc., you have to know that you should do that. And I certainly can't blame a research scientist for not knowing that - it's not really their job to.

Fundamental software concepts like DRY don't disappear just because you're using a visual language.

Re:The Future of Software Is No Code by DonaldFisk on Monday April 23, 2018 @12:50PM (#16905125)
> I would regularly get asked to do things in LabVIEW that were (sometimes quite literally) impossible to do without writing some C code.

Is this because (a) LabVIEW is high level and C is low level, or (b) because LabVIEW can't handle some complex algorithms?

(a) doesn't bother me as using a low-level language for low level tasks is a perfectly reasonable thing to do.

> While you can wrap things up in functions and subroutines and etc., you have to know that you should do that.

If someone uses a programming language for more than scripting (or in a visual language, sketching) they should learn to program. It makes no difference that the language is visual.

Re:The Future of Software Is No Code by wgerard on Monday April 23, 2018 @01:01PM (#16905250)
> Is this because (a) LabVIEW is high level and C is low level, or (b) because LabVIEW can't handle some complex algorithms?

It's high-level in the sense that you program by choosing a set of components. A very apt analogy might be Excel and VBA: It would be extremely difficult (if not impossible) to accomplish some tasks using Excel, and if you're using Excel as a "programming language" you will find yourself reaching for VBA to do certain arbitrary tasks.

> If someone uses a programming language for more than scripting (or in a visual language, sketching) they should learn to program. It makes no difference that the language is visual.

Sure, but saying people should do x is basically absolving yourself of the problem and throwing your hands up in the air. They don't do x, so it's sometimes our job to figure out why they don't x and how we can encourage people to do x over time.

LabVIEW is very much presented informally as "program without learning how to program" (very similar to the article), so people using it don't feel as though they should have to learn basic programming fundamentals.

Re:The Future of Software Is No Code by DonaldFisk on Monday April 23, 2018 @03:44PM (#16906732)
Thanks for your reply. So, in practice (b). I had been led to believe the underlying language G was at least in theory general purpose though its libraries are specific to instrument control and similar applications.
Re:The Future of Software Is No Code by analog31 on Monday April 23, 2018 @07:11PM (#16908316)
I used LabVIEW for a few years. In my view, LabVIEW is as low level as you want it to be. It has some very low level operators. And it can handle algorithms as complex as you want them to be.

One of the first hurdles faced by all beginning programmers is "what to do when a program gets too big to fit on one screen," or to understand in one sitting, etc. We all know at least some basic solutions to this problem: Variable naming, subroutines, etc. When LabVIEW programs grow beyond a single screen, which happens quickly, it becomes very cumbersome to navigate through multiple windows and their different viewing modes. Since a program can have multiple entry points, it's hard to figure out what a program "does" in a top down fashion.

Second, there's the reason why so many of us went back to CLI and text editors after experiencing the wonders of the GUI. I think that doing complex work with GUI based tools becomes physically laborious to the point of being debilitating. I came away from my LabVIEW sessions with splitting eyestrain headaches and wrist fatigue.

The physical work involved in laying out code also discourages refactoring.

Maybe, oh maybe, there's something right about text based programming languages.

Re:The Future of Software Is No Code by DonaldFisk on Monday April 23, 2018 @08:23PM (#16908742)
Or maybe LabVIEW needs a better editor/IDE. I very quickly gave up with Franz Lisp on a VAX running Berkeley Unix not because of any deficiency in the language but because I had to use vi to edit it.

There have been only two languages (Prograph and Max) with any similarity to LabVIEW which have gained significant numbers of users, so the space of visual dataflow languages hasn't been explored enough to write them all off.

LabVIEW was designed in the 1980s when nothing similar to base it on existed, and various design choices were committed to which didn't work out well. In the following decades, many advances in language design took place or were widely adopted and would be difficult to retrofit to an language of that era.

I've only read about LabVIEW, but I have a fair amount of experience designing another visual dataflow language, Full Metal Jacket (http://web.onetel.com/~hibou/fmj/FMJ.html).

In Full Metal Jacket's IDE, opening a function definition is done by right-clicking on its vertex (rectangle); connecting an output of one vertex to an input of a second vertex by dragging the mouse cursor in its general direction and releasing or, if the the second vertex is absent, right clicking on the output and dragging the vertex from another window. Hovering over a vertex displays its documentation string, hovering over inputs or outputs displays their types.

I adopted some ideas from functional programming languages - simple syntax from Lisp along with Gabriel's MIT approach, strong static typing with type inference from Haskell and ML, tagged data and a few other ideas from experimental dataflow hardware (I knew the people involved in this both at Cumbernauld and Manchester); and some vocabulary from graph theory. It was obvious to me very early on that there was no way anyone could honestly market dataflow languages at people who don't consider themselves programmers. Not only do you still need to design algorithms, you have to think in a completely new way.

Re:The Future of Software Is No Code by analog31 on Tuesday April 24, 2018 @10:45PM (#16918309)
Very interesting. I wonder if this could find a niche on microcontrollers or FPGA's.
Re:The Future of Software Is No Code by acobster on Monday April 23, 2018 @09:09PM (#16909011)
Yes. More generally, good programmers aren't crucial because they know how to code, they're crucial because they know how to construct good programs.
Re:The Future of Software Is No Code by tylfin on Monday April 23, 2018 @11:10AM (#16904060)
I just love the dichotomy on HN where you get one article: “The Future of Software Is No Code” and another “Why it took a long time to build the tiny link preview on Wikipedia,” these two are seemingly orthogonal in my mind.
Re:The Future of Software Is No Code by fh973 on Monday April 23, 2018 @11:18AM (#16904154)
I think orthogonal (at least from its usage in math-related contexts) means the two don't have anything to do with each other.
Re:The Future of Software Is No Code by taoistextremist on Monday April 23, 2018 @11:50AM (#16904462)
Nah, that would be skew. Orthogonal crosses but goes in a different direction.
Re:The Future of Software Is No Code by cliffy on Monday April 23, 2018 @11:56AM (#16904519)
Orthogonal is frequently used to mean two (or more) things are independent of one another. I have never heard skew used in that way.
Re:The Future of Software Is No Code by 0x445442 on Monday April 23, 2018 @02:30PM (#16906106)
I believe in the, quite common, context just used it's meant as non-parallel. Or the two ideas don't track at all.
Re:The Future of Software Is No Code by taoistextremist on Monday April 23, 2018 @03:35PM (#16906653)
Yeah, but they were saying in math related contexts, in which orthogonal is almost equivalent to perpendicular.
Re:The Future of Software Is No Code by vishnugupta on Monday April 23, 2018 @05:10PM (#16907427)
I believe even in the context of mathematics orthogonal means independence. I.e., one can move along x and y axis without having y or x value being changed. However if you move along any line that's not parallel to x or y axis then both x and y value change simultaneously. That's how I interpret orthogonality in the context of math anyway.
Re:The Future of Software Is No Code by Maybestring on Monday April 23, 2018 @07:49PM (#16908522)
>However if you move along any line that's not parallel to x or y axis then both x and y value change simultaneously.

A third orthogonal axis is neither parallel to x and y, nor do x and y vary as you move along it.

Replace parallel with linearly indepent, and you are spot on.

Re:The Future of Software Is No Code by romwell on Monday April 23, 2018 @09:30PM (#16909116)
No need to replace anything; the implicit assumption is a 2D space.
Re:The Future of Software Is No Code by Maybestring on Tuesday April 24, 2018 @03:52PM (#16915971)
Then you can only talk about two concepts. I would like to be able to say, intelligence, morality, and obesity are mutually orthogonal.

If your model is 2D, then you are requiring a relationship between at least two of them.

Re:The Future of Software Is No Code by romwell on Tuesday April 24, 2018 @08:43PM (#16917909)
The example was in 2D. The reader is able to generalize from there, we hope, no? :)
Re:The Future of Software Is No Code by Maybestring on Wednesday April 25, 2018 @11:22AM (#16922321)
As long as you don't rely on concepts that don't generalize to higher dimensions. To the extent that you use concepts that don't generalize in your example, you are using a poor example.
Re:The Future of Software Is No Code by Maybestring on Monday April 23, 2018 @07:59PM (#16908581)
That's the idea, and these ideas do intersect. Rate your belief in them on a scale of 0..1. if your rating was (0,0) you are at the intersection.
Re:The Future of Software Is No Code by karatinversion on Monday April 23, 2018 @01:53PM (#16905738)
Yes, the poster above has assumed the meaning of 'orthogonal' from its etymology, but the use he criticises comes from statistics (https://stats.stackexchange.com/questions/12128/what-does-or...)
Re:The Future of Software Is No Code by zinclozenge on Monday April 23, 2018 @11:53AM (#16904493)
Except you can have orthogonal vectors that don't intersect.
Re:The Future of Software Is No Code by recursive on Monday April 23, 2018 @11:40AM (#16904364)
Not orthoganal, I'd say. They're diametrically opposed. I want the no-code thing to work. I just don't think it's going to.
Re:The Future of Software Is No Code by Eridrus on Monday April 23, 2018 @11:28AM (#16904253)
The real reason it took so long was buried in the comments: the community was unwilling to accept a sub-par solution at all.

And if your requirements are very steep, you're probably not going to get away from code, but if your goal is to build something quickly and make a few compromises, then maybe No-Code approaches are for you.

Re:The Future of Software Is No Code by candiodari on Monday April 23, 2018 @11:07AM (#16904033)
> If you're telling me that eventually CRUD apps will be mostly automated away, then I believe you.

Don't. Read "worse is better" again. In the 90s CRUD apps were a solved problem. Then in the 2000-2005 or so they became graphical (access, foxpro, dbase, paradox, filemaker, and yes visual basic and delphi ...) and it was trivial to get CRUD apps done.

People who wouldn't know code from Welsh English made databases for libraries, of their CD/DVD collections/... just for fun even.

Today, that doesn't happen anymore. And the web frameworks we currently use for that by and large don't work on mobile and even those are losing in the marketplace for reasons I can't understand, but there is a new javascript framework we just GOT to use. CRUD apps these days ... need a web interface, an android one, an ios one, and more. Minimum number of programming languages required: Javascript, Java/Kotlin, ObjC/Swift, and a backend language (can't use Java for that ... that would make ... euhm ... that would make sense ? And yes, you could use even Javascript, but ... so let's use Python ... or Go).

And let's just not mention that such absolutely basic things as a data table that were lowest-common-denominator are now exceptional. Sorting by every column ? Rarely happens. Having all data in a single listbox with search, filter, and rapid scrolling ? Unheard of (because very impractical on the web).

So no worries about programmer jobs. Ever simpler things will require ever more programmers. Worry about enjoying programming.

Re:The Future of Software Is No Code by naasking on Monday April 23, 2018 @11:36AM (#16904324)
> In the 90s CRUD apps were a solved problem. Then in the 2000-2005 or so they became graphical (access, foxpro, dbase, paradox, filemaker, and yes visual basic and delphi ...) and it was trivial to get CRUD apps done.

Because CRUD apps were for one platform, running purely locally, not dealing with disconnected clients, concurrent clients modifying shared data, unreliable database connections, clients with arbitrary screen dimensions, resolutions and orientations, or in arbitrary human languages. I think you underestimate the scope of modern CRUD applications.

Re:The Future of Software Is No Code by TeMPOraL on Monday April 23, 2018 @12:48PM (#16905109)
A lot of that is self-inflicted complexity and following latest business trends (read: mostly hype). Things like opting for distributed cluster and map-reduce where a couple of unix commands piped together, running on a mid-tier laptop would do. Things like going with the latest and greatest web framework, that incidentally pulls in 5-layers deep stack and thousands of dependencies into your workflow.

Also related is typical business optimization - which usually means externalizing costs to users. Like, "CRUD apps were for one platform" - the cost of doing them for multiple platforms is at worst linear with the number of platforms, and most of that cost can be moved to a constant factor if you design your architecture correctly. It's a big deal, but it's not always that big of a deal. And contemporary alternatives result in applications sorta-working on multiple platforms at the price of one, but having half (or less) functionality.

Re:The Future of Software Is No Code by michaelmrose on Monday April 23, 2018 @01:49PM (#16905696)
The framework is intended as complexity management. Instead of picking each of 20 components each of which has 7 choices with different tradeoffs and figuring out which subset of choices delivers an acceptable complete picture just read how to use the components we have picked for you in a suggested fashion.

The result may be complicated under the hood but may be easier to operate as well.

Re:The Future of Software Is No Code by TeMPOraL on Monday April 23, 2018 @01:53PM (#16905733)
Problem is, this often backfires - you end up using 5% of the power of the framework, but spending 95% of the dev time fighting it to achieve what you really want.
Re:The Future of Software Is No Code by emodendroket on Monday April 23, 2018 @04:08PM (#16906934)
In my experience this is a sign that you've picked a wildly unsuitable framework, rather than that the very concept of a framework is wrong.
Re:The Future of Software Is No Code by yellowapple on Monday April 23, 2018 @10:30PM (#16909418)
In my experience, a wildly suitable framework for one person will almost certainly be wildly unsuitable for someone else, especially if that framework is especially opinionated. Appealing to every use case would mean a proliferation of frameworks with very subtle differences, leaving a prospective user entirely confused about which one to use.

That's not to say that there's no place for frameworks, but it is to say that there's value to being able to piece together the equivalent functionality (or at least the critical subset thereof) from unopinionated "do one thing and do it well" components with relative ease and minimal pain.

Re:The Future of Software Is No Code by emodendroket on Monday April 23, 2018 @11:09PM (#16909579)
I think the "relative ease and minimal pain" option is usually picking a framework and working with it as it's intended to be used.
Re:The Future of Software Is No Code by yellowapple on Tuesday April 24, 2018 @11:15AM (#16913251)
Unfortunately, "picking a framework" for which "working with it as it's intended to be used" actually matches with the user's intentions tends to be the excruciatingly difficult part. Best-case: the user happens to find the perfect framework for one's use-case. Common-case: the user gets by on hacking the framework to do one's bidding, regardless of how it's intended to be used, because the user can't find one that actually satisfies the user's requirements.

See also: the proliferation of Excel spreadsheets driving business logic pretty much everywhere outside of Silicon Valley (and in some cases even within).

Re:The Future of Software Is No Code by emodendroket on Tuesday April 24, 2018 @12:46PM (#16914250)
I don't see the relationship there... end users choose Excel because it's the only thing that's available to them. For a professional programmer you should not only have better judgment but also have some familiarity with the frameworks available for what you want to do.
Re:The Future of Software Is No Code by emodendroket on Monday April 23, 2018 @04:09PM (#16906944)
I worked as a system administrator around when they were EOLing Windows XP and I think you are really underestimating the benefits of Web apps here.
Re:The Future of Software Is No Code by nradov on Monday April 23, 2018 @02:24PM (#16906032)
In the late 1990s IBM Lotus Notes / Domino ran on multiple platforms and worked fine for CRUD applications with disconnected clients, concurrent clients modifying shared data, unreliable database connections, clients with arbitrary screen dimensions, and multiple human languages. The underlying architecture was a bit ugly but it worked.

As an industry we have absolutely regressed in many ways. Web application make distribution easy but almost everything else is worse.

Re:The Future of Software Is No Code by goatlover on Monday April 23, 2018 @03:30PM (#16906618)
For all the hate it got, the Notes/Domino platform did some things really well.
Re:The Future of Software Is No Code by petra on Monday April 23, 2018 @12:15PM (#16904737)
Sure it's complex. But WordPress works fine. Why can't a crud tool ?
Re:The Future of Software Is No Code by ebiester on Monday April 23, 2018 @11:33AM (#16904299)
What I wouldn't do for a tool like powerbuilder today...

That said, html + css is the wrong tool for applications and we keep jamming that square peg through the round hole.

Re:The Future of Software Is No Code by ken on Monday April 23, 2018 @12:06PM (#16904645)
I disagree. I'd say that attempts to let end users do their work without 'programming' have succeeded marvelously. We've handled the 50% case, and then the remaining 50%, and repeated this process several times.

When I was a kid, I had to type a valid line of source code to load and launch an application (often two separate lines). Today I can literally touch a picture of it with my finger to do the same thing.

There may always be tasks for which we need someone to write a process description in a Turing-complete language, but even as a programmer, almost all of the non-programming tasks I do today would have required programming 30 years ago.

Re:The Future of Software Is No Code by goatlover on Monday April 23, 2018 @03:25PM (#16906576)
> There may always be tasks for which we need someone to write a process description in a Turing-complete language, but even as a programmer, almost all of the non-programming tasks I do today would have required programming 30 years ago.

And the end result of this is what? More or less code gets written? Is there a need for more or less programmers over time? What's the trend, do you think?

Maybe the computing pie gets bigger faster than the software needs can be turned into non-programming tasks.

Re:The Future of Software Is No Code by ken on Monday April 23, 2018 @08:22PM (#16908740)
That's a great question, and I'm going to sidestep it a bit by saying I think the limiting factor isn't technology.

95% of the projects I've worked on have been some fairly simple permutation of ETLs, CMSs, and ops -- all of which are sufficiently constrained problem spaces that we've got good systems for them which work well without the need for Turing-complete programming languages.

But as long as we're constrained by legacy codebases, overly complex third-party APIs, and the need to maintain business models, we're not going to be able to make things as simple as we know they should be. It's not just services: I've got 100 legacy file formats on my disk, and they mostly are completely different and require different tools for no good reason.

I've wasted many months (years?) of my life figuring out how to plug the API from service X into the API for service Y and put the results on a simple webpage, with some CSS that a designer gave me. That's not the sort of thing that ought to require a Turing-complete programming language. It's almost all accidental complexity.

Someday we'll sort this all out, and then maybe we'll go on to discover some other unexplored area where we need lots of (Turing) programmers, or maybe we won't, but that's beyond the inflection point. Our next 50% barrier isn't technical, and as long as we've got artificial socioeconomic barriers in the way, I can't guess what's after that.

Re:The Future of Software Is No Code by Karrot_Kream on Monday April 23, 2018 @08:40PM (#16908854)
> Maybe the computing pie gets bigger faster than the software needs can be turned into non-programming tasks.

Most "software" needs these days are business related. Legions of engineers are just adding minute variations to the same CRUD frameworks to make slightly different products. I think the kind of programming that goes into making a CRUD startup and the kind of programming that went into making a device driver in the '80s is very, very different.

Re:The Future of Software Is No Code by commandlinefan on Monday April 23, 2018 @03:42PM (#16906714)
I can imagine this being the future, but it's quite a long way off. I was thinking about this as I was doing some work in Python earlier today - back when I was working in C, variable-length lists and hash maps were so inconvenient that I often just convinced myself that fixed-length lists and sequential searches were "good enough" for the case at hand (and, often, I was right). With Python, of course, I don't even think twice about using relatively higher-level concepts (in fact, I don't have a choice), so even as a professional programmer, I've popped one meta-level up in the abstraction stack. That said - there are a LOT more meta-levels that tools need to pop up before somebody who doesn't even understand what a linked list is is going to be able to produce software that serves a useful purpose. Even in that future world, there will be a need for "low-level" folks who can at least think in assembler when necessary - but I imagine that role will be more like that of a surgeon in meatspace.
Re:The Future of Software Is No Code by goatlover on Monday April 23, 2018 @04:01PM (#16906866)
> With Python, of course, I don't even think twice about using relatively higher-level concepts (in fact, I don't have a choice), so even as a professional programmer, I've popped one meta-level up in the abstraction stack

But these existed in programming languages before Python's inception, at least back to Lisp in the 60s. And newer languages like Go eschew some of the higher level flexibility of a Python on purpose.

Also, despite the widespread use of languages like Python, JS and Ruby, C/C++ and Java remain just as widely used as ever.

Re:The Future of Software Is No Code by ken on Monday April 23, 2018 @04:01PM (#16906879)
> there are a LOT more meta-levels that tools need to pop up before somebody who doesn't even understand what a linked list is is going to be able to produce software that serves a useful purpose

I can think of lots of useful web applications today built by people with no knowledge of linked lists (or at least, they didn't need any such knowledge for those applications). The entire CMS market seems to exist to enable this.

Re:The Future of Software Is No Code by sveme on Monday April 23, 2018 @11:36AM (#16904325)
Syntax is often too complicated, I agree. But to me, software development is not about learning syntax but about handling and understanding complexity. Good languages support handling complexity and I really don't see a future where complex software can be built without something supporting you in handling complex interactions between things.
Re:The Future of Software Is No Code by petra on Monday April 23, 2018 @02:07PM (#16905869)
But domain experts can handle complexity just fine, especially given right tools to help with domain driven design/DSL , abstracting, versioning, parameterizing, information hiding, reuse, modularity, and getting help from software engineers when needed).

And since there are easy to use examples of each of those in various categories, it's not impossible to imagine some tool will tie all of them together.

Re:The Future of Software Is No Code by ebiester on Monday April 23, 2018 @11:14AM (#16904113)
I have been hopeful for this for a long time - it's not so much that I expect it to stop the need for a developer, but rather that it will allow a developer and domain expert to work together more efficiently.

The ideal case, in my mind, is a case where apps can scale. A user needs a simple tool, so they build it in a UX-friendly way, which has limitations but can reach some basic data sources and can do some basic CRUD.

Then, the user starts reaching a point where they need to scale. Then, something like VBA can be written by the user or by some developer, and tied into the UX. Indices can be added to the database, and to a DBA it looks like any other CRUD app. Views and materialized views can be used to add information from other parts of the database.

If there's one difficult part, the system can call a service that has access to the database and can do computing more directly, communicating through a standardized JSON system. (Perhaps something like JSON API.)

Then, the tool starts getting popular, and is straining at the seams. Instead of having to create an entirely new project, the project can be exported using a translation layer to a pure programming language, with tests built automatically. Developers can then take it in any direction necessary.

The biggest problem is that it's hard to progressively scale small apps - every time a small tool created outside IT gets created, it expands until it starts being dangerous - excel anyone? - and then IT is brought in to build a full scale system that solves all the problems. IT then gets angry at the users for creating a useful tool instead of getting dragged out into the funding-design-create-test-bugfix process.

And that's why the No Code sounds so appealing. It's a structural PITA to scratch your own itch.

Re:The Future of Software Is No Code by shams93 on Monday April 23, 2018 @11:56AM (#16904516)
We have had this in the DSP field since the 1990s with pure data, and before that the closed source Max, now a part of Ableton Live 10. Faust is another example of a graphical coding tool for DSP, in the case of Faust you can export C++ that you then include in a larger C++ based application.
Re:The Future of Software Is No Code by kevin_thibedeau on Monday April 23, 2018 @05:40PM (#16907697)
These kinds of tools are only viable for their narrow problem domains. Code will always rule for general purpose development. At least until AIs are good enough to produce usable results from a problem description.

Electrical Engineering has already trod this path. Before HDLs became good enough for logic synthesis, FPGAs and ASICs were developed with schematics or manually mapping circuits into the target architecture. That process doesn't scale well as you end up wrangling with 2D spatial representations and constantly fiddling with low level details. Now, HDLs are the primary means of developing such hardware and the vertical tools are limited to specific data processing niches where there is some productivity advantage in reusing established design methodologies.

Re:The Future of Software Is No Code by robotresearcher on Monday April 23, 2018 @01:29PM (#16905526)
> They've been trying the "let end users code in an impoverished pseudo programming language" for a long time and at best it only ever takes over small niche.

I bet spreadsheets are the most common form of programming on the planet. So at best it takes over a very large niche, becomes entirely mainstream and we forget it's programming at all.

(Of course spreadsheets can use 'real' PLs, but most people only use the basic formulas and ranges.)

Re:The Future of Software Is No Code by contextfree on Monday April 23, 2018 @02:07PM (#16905864)
from my POV spreadsheets are code (there's a formula language after all), just laid out differently and with a very different IDE.
Re:The Future of Software Is No Code by robotresearcher on Monday April 23, 2018 @02:39PM (#16906193)
That's my point. And while niche, the niche is enormous and important. Spreadsheets are a huge success in domain-specific programming for everyone.
Re:The Future of Software Is No Code by hestefisk on Monday April 23, 2018 @04:20PM (#16907023)
And huge success in functional programming.
Re:The Future of Software Is No Code by 3pt14159 on Monday April 23, 2018 @11:07AM (#16904021)
I agree with you but what I would add is that what programmers miss is that there is a continuum between how much the underlying rules of the system can be changed and knowing when to expose these is actually your job as a programmer.

For example, users can always change a URL. This has allowed companies like Twitter to give a little URL-UI (UUI) to help power users while still letting normal people type in the search field. Way on the other end of the spectrum is a tool like Microsoft Excel where there is practically no limit to what a pro can do. Somewhere in the middle would be a sort of table-based design where admins could add simple rules (like layered tax rates, minimum requirements, or when a price change goes live) without needing to do a code deploy.

Re:The Future of Software Is No Code by zacharytelschow on Monday April 23, 2018 @02:37PM (#16906174)
> They've been trying the "let end users code in an impoverished pseudo programming language" for a long time and at best it only ever takes over small niche.

Exactly. Creating a "simpler programming" for business users, in the end, only creates a 2nd language the IT staff has to support. Even getting business users updating something as simple as a quality CMS is an uphill slog.

Re:The Future of Software Is No Code by commandlinefan on Monday April 23, 2018 @03:54PM (#16906809)
Another often unacknowledged reality about that - I suffered for three years in the "Salesforce" environment which bills itself as the be-all end-all "no more programmers" solution. In reality, it's clunky and limited, and even when non-programmers are able to get something that approximates what they want, it ends up being slower than molasses. That's when they call in a programmer to figure out what went wrong and it's usually something like re-running a complex DB query a thousand times to satisfy a simple request. And you can hardly blame the business users - they have no visibility into what they're doing, so it's completely understandable that they come up with an inefficient mess. If user-created software is ever going to be feasible, the back-end is not only going to have to translate their drag-and-drops into usable code, but it's also going to have to intelligently optimize: that is, infer what their goal is and find the most efficient way to achieve that goal. That alone should tell you how far we are away from a programmer-less future.
Re:The Future of Software Is No Code by copperx on Monday April 23, 2018 @11:40PM (#16909670)
Aren't query planners already intelligently optimizing?

A lot of these optimizations have already been solved.

Re:The Future of Software Is No Code by shamas on Tuesday April 24, 2018 @08:49AM (#16912068)
I feel like CRUD web apps are pretty much automated already. You load in React or Vue or whatever, then you just write CSS and HTML in a copy paste style where you're copying from your brain. In fact! The automation has gone so far that people even specialize in using these new automation tools.

Typically they're referred to as designers and web engineers.

Dumb advertisement article...

Re:The Future of Software Is No Code by pcunite on Monday April 23, 2018 @10:54AM (#16903897)
If you're telling me that eventually software engineers won't be needed then I'll see you in line at the unemployment office because the last two jobs to be made obsolete are software engineers and youtube personalities

lol, love that! I'm not afraid, if it is to be, so be it, I'll just work on how to grow my own twinkies from a personal garden.