13 ms·
Code vs. No-code
- 29athrowaway 4y agoNo-code means someone else's code. Just like serverless means someone else's server, and cloud means someone else's infrastructure.
- JaceLightning 4y agoSoon--like sooner than we want--no code will be the norm. AI is going to expand the field significantly.
- ravenstine 4y agoThis will in fact be the case. If we can instruct an AI to draw a picture of Donald Trump catapulting himself over the Eifel Tower, then software can be instructed to write working code with basic English. It's just a matter of time, and the writing is on the wall for us.
- jcoq 4y agoThis viewpoint manages to miss the purpose of nearly all software engineering. We've already solved the tough algorithmic challenges relevant to most industries and those software engineers spend their time writing specifications that just happen to be programs. Their job is to have hours of discussion and think through edge cases to provide an exact description of the business requirements. Good engineering means thinking through edge cases and gray areas while the PMs and designers capture broad requirements from users and focus on high level details. You're not going to replace engineers in this capacity without human level, general AI. Further, you cannot capture the needs of a tech-enabled business with natural language descriptions while remaining unambiguous and changeable. If you had an AI to write your programs, you'd still have engineers writing specifications into the AI (and even more importantly, deciding on those specifications down to the most intricate if details). We will in fact see an explosion, or at least mild expansion, of software engineering into areas that are algorithmically challenging. AI will manage to solve the tough algorithmic parts and engineers will drive the AI through increasingly specialized languages. In this world, AIs will act like compilers. But it's just super futuristic and naive to think that a PM will tell GPT-3 what to make like a Google Home and have it pop out the other side.
- immigrantheart 4y agoI think the commenter above you is just being sarcastic.
- fragmede 4y agoHave you seen the GPT-3 programming demos? It is super futuristic. We programmers are still going to be needed, but what we do will evolve. Just look at how much Github Copilot gets right. It's still early days so there's still a lot it gets wrong, but there are a lot of improvements yet to be made. Eg https://machinelearningtokyo.com/2020/07/26/10-cool-gpt-3-demos/ https://machinelearningtokyo.com/2020/07/26/10-cool-gpt-3-de...
- tartoran 4y agoIt’s still a tool though. If these AI tools simplified the work of sw engineers there would indeed be fewer of our ilk wielding these tools but a larger chunk of engineering would move towards maintaining and co-evolving these tools. I don’t really see an end to it while I do see an end to my own willingness to keep up with it.
- fragmede 4y agoWhether or not Copilot makes it, that's just how tech industry is. First there were mainframes, then there were desktop computers, then there was the Internet, then there was the smartphone. Tech evolves and if you want to stay relevant, you've got to keep learning along with it. Or not. There's still a market for COBOL programmers.
- fragmede 4y agohttps://i.imgur.com/Shlcajg.png https://i.imgur.com/Shlcajg.png
- kcb 4y agoIs a significantly complex instruction to your AI not just code?
- devoutsalsa 4y agoI don’t think so. They are (typically) hard to test, don’t use version control, don’t handle edge cases from pick-a-customer, etc. Fine for trivial use cases. Hard for anything special.
- bigDinosaur 4y agoI've worked a lot with no/low code solutions. There actually ended up being a lot of code! Surprise. Code is an interface between human desires and customising computers. There are infinite human desires, thus there will be a need for an interface that is 'code', even if it isn't a big file with scary ASCII characters.
- wvenable 4y agoMy last project with a no-code solution was a visual designer where you flow-chart all the logic for workflows. At a very small scale, it might make sense but even for our meager need it was blown out so big that no one could really understand or modify it. And, worst of all, we were locked into this proprietary solution. In the end, I re-wrote the entire project in regular code and the end result works better and is easier to modify. We don't need to pay expensive consultants anymore. No extra licensing fee. No special software/server/hosting requirements. And any programmer can work on it -- I can even put new hires on it.
- idazuwaika 4y agoRewrite in code is way easier than developing in code from scratch. I think your scenario reflects the main benefit of no-code, to let business users fix their own requirements.
- wvenable 4y agoI don't know how my scenario reflects the main benefit of no-code... the visual designer "code" was so complicated that literally nobody could work on it. We were all trained to make changes -- both the business users and a small group of developers. In theory they could make changes but in practice it was just too complex. Some minor things were changeable by them but the big changes started to pile up. When we converted to regular code, the business users loved it because all the changes that were too complex to do in that product suddenly became both possible and quick. They lost the ability to make small changes themselves but, given that we could do it almost instantly for them, they didn't care. We're all better off because nobody has to know the quirks of this priority system anymore or be limited by it.
- snidane 4y agoNo code is a sales tactic to circumvent engineering folks who would correctly point out that the tool helps with 80% basic use cases and for the remaining 20% engineers have to be involved, but now instead of using python or something appropriate, they have to build it on top of this proprietary crippled framework.
- moomoo11 4y agoI would argue that’s almost using no code solutions incorrectly because they are good for super initial mvp and validation by people who are non technical. I’m trying to be an entrepreneur and I’m heavily technical. My struggle is on the business side and figuring out how to talk to people, but I can whip up fully functional mobile apps in like 10-20 hours because I’ve done that so many times, or build a solid backend that can easily scale to millions of people (granted that’s not so hard these days). I know how hard and intimidating it is for people without a technical background to SHOW their idea beyond a image or PowerPoint. No code helps such people get something working out and I’m sure once they raise money for their validated idea they can hire engineers to build good long term solutions. I’ve never raised money so idk if that’s reality but I don’t think it’s purely marketing. It’s a valid solution for some people. Anyone can put videos on YouTube to start but once they find their audience and grow the quality and production of the channel grows as well. No code is the same way. Start with what you can like your smartphone and focus on the content, until you’re big enough to have a team and nice gear.
- SOLAR_FIELDS 4y agoI’m a heavily technical engineer and also an entrepreneur. I’m looking at low and no-code solutions right now (specifically Draftbit currently) because even if I can whip up something quickly, I can do it even faster with a low-code solution in areas that aren’t my domain. Also when I have a thousand other things to worry about learning mobile app dev as a primarily backend guy isn’t high on the list of priorities.
- smaudet 4y agoRAD (Rapid Application Development) is a valid way to brainstorm. Offloading solutioning to other people or tools is also a valid strategy. Ultimately, RAD is just a design phase. Commercial No Code companies aren't positioning themselves to be phased out of the design phase, they want to keep collecting your money for as long possible...and if your only advantage is that you have capital to pay someone to do your work for you, you have no advantage over competitors who are likewise capable of doing the same thing, against large companies who can pay much, much more money for the same thing, or eventually against people who figured out how to do it for themselves, more efficiently, than you.
- thinkingkong 4y agoNo code tools all involve code. What they skip or dont involve are as many decisions and combinatorial effects that most “custom” software gets saddled with. For example in Retool if you want a table you get a table. One table. You can do a lot with it but you skip all the debate about how to do sorting, padding, styles, optimization, etc. Thats valuable. Today no code seems more like visual basic 6. You drag and drop a bunch of stuff but realistically the meat of it requires more “advanced” knowledge but so does making a really good spreadsheet.
- scrame 4y agoExactly, the same way "serverless" code is all run on servers.
- RajT88 4y agoThis! I love logic apps. I move mountains with them. But to effectively use logic apps, you already have to have some knowledge of programming concepts. Flow control, parsing JSON/XML, parsing strings for meaningful triggers, calling API's. A non-programmer would have a tough time. A programmer can build some pretty nice automation in almost no time at all. I have yet to see a really good no-code solution that lets laymen be productive fast.
- smaudet 4y ago"realistically the meat of it requires more “advanced” knowledge but so does making a really good spreadsheet." Same way the no-code developer doesn't want to learn the harder (more useful tool), the coding developer balks at learning a shitty, constraining language. There is no advantage to learning and using a no-code tool, which is likely incompatible with other tooling. The knowledge is "useless". Its the same aversion a programmer has to "sphaghetti code", not because it doesn't job the done, but because the knowledge is specialized in a non-useful manner. The advantage most developers have found, is that most languages in the C++/Java tradition contain portable idioms - I don't care if you don't know the exact syntax for a for loop, an if statement, etc, once you've learnt to program once, a decent editor makes learning language syntax largely irrelevant. If I were hiring, I would care that you learnt and can use 3+ languages, I don't care which (code) langagues. Now, there are plenty of idiosyncracies within textual languages - package managers, arbitrary gotchas due to language design (is it a reference? immutable? Does it live on the stack/heap/get auto collected?) - textual programmers shouldn't pretend like we live in a perfect world either. Most no code solutions though are going the complete opposite way of standardization. Its like being told "here's a jail, its your new home" and being supposed to be OK with that.
- scj 4y agoI'd solve the complexity transition problem by producing a header & linkable library so traditional languages can interact with the "no-code". Of course, for profit companies probably don't want to implement an off-ramp.
- MangoCoffee 4y agoat my current job, we use Microsoft's PowerApps and PowerBI by IT/Business analysts. PowerApps/BI is great until you hit a problem. where there is no "connector" provided by Microsoft or you have buy a connector from a third party. No code just mean as long as there's a free connector provided by Microsoft or pay up
- horns4lyfe 4y agoIt seems like one of the assumptions behind the no code hype is that product managers know exactly what clients want, and if they could just remove those pesky engineers from the situation they could deliver it. Which should be pretty funny to anyone who’s ever worked on a large greenfield software project.
- hinkley 4y agoMy first gig out of college, I referred to myself and two of my teammates as babysitters. Since then things have been mostly better. Mostly.
- marcosdumay 4y agoIt's more on the assumption that the end users know better what they want themselves. What does not always happen, but is not rare either.
- zoomzoom 4y agoWrote up some of my own thoughts on this one: https://www.withcoherence.com/post/the-future-of-code-and-no-code https://www.withcoherence.com/post/the-future-of-code-and-no... Bottom line up front, I believe that we don’t want to lose the proven expressiveness of code.
- raviparikh 4y agoNo-code or low-code still means you're creating software, even if you're using a drag-and-drop UI to do so. And if you're building software, you're going to want things like version control, environments, code review, etc. Unfortunately, most of these tools have zero ability to do these things, or have really half-baked imitations of them, and as a result the apps you've built in no-code/low-code are unable to scale as your company grows. I co-founded a company called Airplane (https://www.airplane.dev/ https://www.airplane.dev/) which is essentially a low-code platform for building internal tools. But unlike other low-code platforms, the underlying representation of the stuff you build in Airplane is still just normal Python/JS/etc code that you can put in your monorepo, version control, write unit tests against, etc. As a result, there's a lot less vendor lock-in and eng teams can collaborate better at scale. You also don't hit the complexity ceiling that this article refers to. I don't think Airplane needs to be unique in this regard. Other low-code platforms could allow user-friendly drag-and-drop interactions while still having underlying code-based representations that allow users to get the best of both worlds. I think more no-code/low-code platforms will be built in the future with this in mind.
- easrng 4y agoThe Airplane website gets cut off at the bottom on my laptop screen and because of how you overrided the scrolling I can't scroll down to see what I'm missing. (Edit: actually I can scroll down but it still doesn't look good having it cut off like that.)
- raviparikh 4y agoSorry for the trouble! I don't love the scroll effect either actually. We're working on redoing the website right now and will be getting rid of that.
- bmitc 4y ago> I don't think Airplane needs to be unique in this regard. Other low-code platforms could allow user-friendly drag-and-drop interactions while still having underlying code-based representations that allow users to get the best of both worlds. I think more no-code/low-code platforms will be built in the future with this in mind. I personally don't feel like this is the future. It's similar to storing a Word document's XML in source code. The way the visual editing and thinking works doesn't map to the text-based storage format, which then makes source code control little more than backup since it becomes difficult to tell what actually changed. Maybe this doesn't apply to Airplane though, so what I'm saying is more general for visual tools and programming languages. There's no reason why visual tools and programming languages can't have visual comparison tools. Text is not the end all be all for things that can be compared.
- timcavel 4y ago
- moonchrome 4y agoThis looks like a rehash of "Excel vs custom app" - except no-code tools seem to fail a lot sooner than spreadsheets.
- dymk 4y agoMost no code tools have not had nearly the amount of effort put into them as Microsoft had put into Excel
- hinkley 4y agoWhich is itself built on the flattened rubble of 4GLs. A couple companies made a go of round-tripping from UML to code, but you know someone was hoping to stop that merry-go-round on the pretty pictures.
- d--b 4y agoExactly, Excel does have the kind of curve the OP is talking about, easy at first, then requiring some effort, and then very powerful.
- f0c1s 4y agoThe idea of using spreadsheets is very clear, data in tabular form and charts. If that is the requirement, most low-code platforms would suffice too. But, then the expectations are not articulated and managed properly, and management being management, thinks that they can retire grumpy oldies who build complex app in favor of low-code apps.
- chrischattin 4y agoThe time it takes to learn no-code tools, you could have just learned to code.
- hndamien 4y agoThis is where low code is good. It can be a great on ramp to deep coding. FlutterFlow seems to strike a good balance, as you can use the OpenAi codex in writing custom functions.
- elevaet 4y agoAnd learning to code is investment in a skill that builds up on itself like a snowball, whereas no-code tends to be disposable as platforms come and go.
- chrischattin 4y ago100%
- spikefromspace 4y agoAgree with your complexity vs effort graphs but that is exactly where no-code tools have worked well for me. Example: Our CRM has a very complex data model and Salesforce UI is hard to use. With a no code tool, I can wire up a simple UI and use their connector to populate the fields and allow folks to make changes in a much simpler / somewhat automated way. This saves us a few hours per week and it took me 3-5 hours to build. I don't really need VCS, code reviews etc. here. If I ever had a bunch of related use cases like this, I would then want to invest in a yes-code solution to solve the combined set of use cases.
- hinkley 4y agoI'm wondering if anyone reading this thread (maybe ones who are shaking their head as they do so) knows of an existing meme for things of this sort. 'Snake oil' is the completely wrong metaphor here. I'm thinking Greek mythology, sirens perhaps. Learning curves that start with a cliff tend to be self-limiting. Lots of people nope out without even really trying. When you push it out to the horizon people miss it, often at their own peril, and at great profit for Salesforce, uh, I mean, for the vendor. The anonymous vendor.
- pphysch 4y agoI think no-code fad will get blown away by a) a tech crash and b) the next gen of web frameworks that implement all we've learned about GUI/UX/DX over the past decade
- xedrac 4y agoI'm sure there is a place for no-code tools, but LabView left a very sour taste in my mouth after seeing how much it was abused to do things it was pretty much the worst tool imaginable for.
- AnimalMuppet 4y agoThe worst tool imaginable, that you have and know how to use, beats many more suitable tools that you don't have and/or don't know how to use. I don't like no-code tools. I think they fall into the Evil Wizards category. (Roughly, they trap you into a dungeon that you can't escape or extend.) But they do let people who are not us do things that they could not have done without the tool (or, if they could have, they would have needed us to do it for them). That's powerful. "They're a bad idea for professional programmers" is very different from "they're a bad idea for everyone". The only gotcha is, the non-programmers need to learn when to stop trying to extend what they've built with the tool, and get the mess re-written by people that can code. That sounds elitist. (It even sounds rather elitist to me!) But it's really no different than knowing when to take your kid to the ER instead of trying to fix them with your first-aid kit. Some things you can do as an amateur, and that's good. It's empowering! But you need to know when you need more than an amateur.
- deleted 4y ago[deleted]
- bruce511 4y agoI'm a tad unusual in this discussion, because I write add-on code for a no-code tool (that you've never heard of, or instantly dismissed if you have.) The timings might surprise you though. The tool/language originated in DOS in the 80's and moved to Windows in 1994. It allows you to work at the code, and no-code levels (intermingled) and allows you to write your own code to extend the no-code layer. Which is what I started doing in 1992 for myself (because I'm lazy), addons which it turns out others wanted as well, and so gradually that has become a big part of my day job. I still write programs in it though, and it's fantastically productive. Mostly I build web apps now, but there are some big desktop systems in play and the odd mobile app as well. Trends come and go, and it's interesting to see the current discussion (now calling it no-code - at least it has a new name) while we quietly stay under the radar. For reference there are maybe 5000 people total using this tool, most are in one-man or very small companies. Most are punching far (far) above their actual programming chops. None have ever seen a VC $. ) Most make a living writing either custom software, or niche products (or not so niche). Some are the underpinnings of very large and successful businesses. Very, very, few evangelise the actual product. Yes all the negatives are in play. It's a commercial system with infrequent upgrades (budget about $200 per year for the base product, say $500 pa for addons), zero marketing, anyone you hire has never heard of it, it's archaic in some places (pretty good in others), has an IDE that occasionally crashes, plays OK (but not terribly well) with version control and so on. "real" programmers turn their nose up at it (since the days when real programmers used C), and if it was ever "cool", well, decades have passed since then. But here's the interesting thing. It allows people to find their place on the programming spectrum. They code as much, or as little, as they care to. Coloring inside the lines you can still make fantastic stuff. I know of companies that make a good living selling a product, and the (sole developer) can literally barely write a single line of code. I know of others who have written all the code by hand, and used very little of the no-code layer. The world is a spectrum and each finds his own place. To dismiss no-code out of hand is to not really understand it. Word is like no-code to writers. Some use just spell checking, some for formatting, but there are still writers writing long-hand on paper because "that's the pure way, and paper never crashes". I've written code in assembler. And C. And more. And that's all fun, but it turns out customers don't care what you write in. They care about the solution you are selling. What keeps our company of 50 people going is a program written mostly by 2 people, with code stretching back to the mid 90's,but which easily beats out compeditors for functionality and cost and ultimately means we are a player in our space. Of course no-code won't solve every programming problem (although dropping to the code layer you pretty much can) but in the real world 99% of actually used, useful programs, are boring re-hashes or CRUD, APIs, Web Services, UIs, and so on. That's the stuff people pay for which keeps the lights on. And yeah, it's fun to optimise string manipulations using assembler, or python, but that stuff doesn't pay the bills. Ultimatly no-code (with code) is not a new idea, it'll never be the sexy thing, but it is very productive in the right hands, and it'll be around for ages. Alas it takes time and effort to become skilled and experienced though, just like everything else.
- i5Aj7PXGjUPy 4y agowhy are suits so afraid of code that they fall for the no-code spiel?
- euroderf 4y agoTaking a wild guess here, but... Because coders ?
- cassac 4y agoThe problem with code vs no-code is that the only barrier it removes is the code. The “code” is the easy part. Coding is like writing a story in a way and imagining the story is what’s hard. Whether it’s written in code, pictures, graphs, or grunts is irrelevant. No-code will not make a good story teller. Sure you will lower the barrier for those with little imagination telling small tales, but it will not help in the epic adventures.
- f0c1s 4y ago> The “code” is the easy part. This is an understatement. Main problems are versioning, collaborating, maintenance. Coding is like writing a story with other authors, with each chapter inspired by /writing-prompt, and publishing the whole book with new ISBN for every typo. If app-publishing is fast, {no|low}-code wins. The obvious caveat being, that it is not a full fledged system where you can build yet another no-code platform on top of it.
- wokwokwok 4y ago> So in an ideal world, what we need is tools that have a effort/complexity curve that is both visible, and looks like this: [ Sigmoid curve image ] Well... if we're just making things up, what we want is tools that have an effort/complexity curve that is just flat, at pretty much zero. You can't do that though right? It's obviously impossible to make a programming language / system in which the effort doesn't scale in some fashion to the complexity of the task. What the people selling no-code solutions are selling though, is the idea that a sigmoid like curve, or linear curve, or something might be possible, or maybe already is possible. ...but that is just made up. It isn't possible with any current systems. It's not clear that it's possible at all to have a system that works that way. > The other main problem is how do you avoid the making complexity more expensive? > This is less obvious. It *certainly* is less obvious. Honestly, it's probably provable that it's not possible to have something where the effort is asymptotically bounded as complexity approaches infinity. Fundamentally. I'm not convinced that any current efforts in 'no-code' display a degree of realism toward approaching that problem at all. The only real efforts in this space are currently: - rust. By having a very complex, very rigid type system, you can reduce the complexity of extremely complex systems (parallel computation) to being slightly less complex. It appears to scale reasonably well. It's not friendly, or easy, and requires rigid discipline that is enforced by the tooling. This is not a no-code solution, and the solution does not scale to no-code contexts. - copilot. By generating code based on simple high-level requirements, you can amortize the complexity cost by up-front spend in computational cost in the training and inference steps. This scales to low-code environments. The maintainability and cost effectiveness of the solution are questionable, but this is probably the single closest no-code solution in play at the moment. It's probably still several years away from being available and reliable enough to use for non-programmers, but this is an extremely promising direction of research. - excel Excel is the workhorse of the business. Simple coding approachable for numeric purposes (eg. accountants) has scaled well to general note taking with light-weight coding for business purposes. This is probably the most successful no-code solution out there, and really it's quite excellent. However, due to network effects, it's reasonably unlikely any other no-code solutions will succeed in this space. Personally, the no-code solutions I've used have been pretty much: Build once, maintain never, you'll be ok as long as you don't try to do anything hard or custom. It'll be a constant work in progress until it gets too complex, at which point you will either throw it away and start again or commission a 'real' app based off of it. ...maybe that's ok. I think, 'bin it, start again and you'll get 80% of the way there in a few days of prototyping' is as good as these tools will ever get, and maybe that's all most people need. We'll see. Maybe AI generated code will revolutionize this space... but, I'm pretty sure none of the other efforts I've seen in it will. They're all dead ends, that have been tried before, and failed before.
- leemcalilly 4y agoI think “code” is already at the right layer of abstraction. “Code” already solves this problem and has the curve the author’s looking for. “No-code” is a simple case of the wrong abstraction.
- boberoni 4y agoIt's all abstractions. Python code is no-C-code. C code is no-assembly-code. And so on...
- leemcalilly 4y agook yeah this is the answer
- Existenceblinks 4y agoA form submit is akin to function call, so it's just how much your function would do. You could build a form that just move a hex to a register, and you will get assembly programming via lots of user interactions.
- _sword 4y agoFunny no one on HN talks about Unqork
- the_uncoder 4y agoProbably because most people hear no-code and think "simple apps built by biz users." Unqork is building a no-code platform for professional developers. Disclaimer: I work at Unqork and I’m a professional developer. Our target audience isn't citizen developers. Sure, no-code makes it easier for business users to get more involved in the development process, but apps built w/ Unqork are built by developers. I’m talking complex, enterprise-grade stuff. To get started learning more, check out: https://www.youtube.com/watch?v=69nbaPZUIbU&list=PLSh16YktDXozzZ2MnvkAzPm1xqymDVy3M https://www.youtube.com/watch?v=69nbaPZUIbU&list=PLSh16YktDX... And tune in every week on Twitch if you’re interested in watching us get more and more complex with what you can: https://www.twitch.tv/unqork https://www.twitch.tv/unqork
- sverhagen 4y agoI tried Appsmith, Budibase and a few others, because I had a need for some admin UI for a startup, and I thought that low-code would get me there quickly. I thought I could take a shortcut. I'm an experienced coder, so my biases surely play a role here. I was expecting these low-code tools to offer abstractions to make the effort for low-complexity problems very low (like the article suggests). Instead, I found that they were really just a point-and-click version of the code writing I'd otherwise do. All the complexity was still there (at which time the ergonomics of the tool becomes very important, and let's just say... that didn't help). I think the article is thus also flawed in some of its assumptions and conclusions. There seems to be a rise of these low-code tools, and something good may certainly come from it. But when I looked at them (approx. 9 months ago), it just simply wasn't "there" yet. I also don't think that what they offer in 2022 is much better an experience than what I did in 2002 with Microsoft Access (which I've left behind me long since).
- victor9000 4y agoI wanted to love Appsmith but I kept running into telemetry code, including a hard coded segment id baked right into the base docker image. Sorry, but I can't defend your business needs during security review. For example: https://github.com/appsmithorg/appsmith/blob/8edb278b755cc5f0f8bd7d9b5868f8aa90ebec94/deploy/install.sh#L30 https://github.com/appsmithorg/appsmith/blob/8edb278b755cc5f...
- mohanarpit 4y agoDisclaimer: I'm the creator of Appsmith. First of all, thanks for trying out Appsmith and doing a security review. The link you pasted is actually an out-dated installation script that we used to use only for tracking if a user is facing errors during installation. This script has been deprecated approx 10 months ago. We should probably remove it from the code base as well to reduce confusions. Now, you can spin up a Docker container directly without having to go through any shell script. Having said that, Appsmith doesn't track any PII data from an installation. Any & all telemetry within Appsmith is strictly opt-in. You can disable this as well when setting up Appsmith or any time afterwards. Please check https://docs.appsmith.com/telemetry#disable-telemetry https://docs.appsmith.com/telemetry#disable-telemetry for details. We understand that security is paramount to users of Appsmith and thousands of teams use Appsmith to interact with sensitive data. Hence, we take data security very seriously. If you have any concerns about our security practices, I'd love to hear from you at security[at]appsmith.com. We will aim to fix any such concerns immediately within the product.
- hgomersall 4y agoSo I was recently very attracted to some no-code platforms because I have a simple cloud based application that interacts with some APIs, authenticating with OAuth2. I know what I want to do, but as a primarily systems developer with very limited web development, I have no interest or desire to start creating websites to perform user authentication (not least when I only have one user), along with storing credentials securely, running a server etc etc. It feels to me that some service should exist that provides the API plumbing I need so I can just write the code that processes data and writes to APIs. Things like zapier can probably do it, but then it becomes a hassle to add arbitrary code to the mix. Does anyone know of anything that can help here?
- goto11 4y agoA lot of negativity towards no-code in the comments, which I think is misguided. These tools also makes developers lives easier and help us serve the customer better. Sure, when a project react a certain level of complexity, no-code is not enough and you need real code, and the transition might be painful. But most tasks are simple. 80% of all solution might never reach the level of complexity where code is required. For the remaining 20% it means we now have a working prototype which represent the requirements of the customer, which is much better than starting from scratch with vague specifications. Web site builders like Wordpress is the classic example. Once even trivial websites required programming. Now most websites can be built in such a system.
- heax 4y agoWake me up when they develop their No-/Low-code tool in their tool itself. Up to that point it is not better than code itself :)
- the_uncoder 4y ago::alarm alarm:: Unqork uses Unqork to deliver most all of it's SDLC capabilities because yes, as some folks stated to start this: no-code is still creating software and you need visibility, governance, etc around it. https://www.youtube.com/watch?v=LkXPakTWAEQ https://www.youtube.com/watch?v=LkXPakTWAEQ
- alberth 4y agoI miss the days of using Microsoft Frontpage to create a website. If you were a pro, you might use Dreamweaver instead. </sarcasm>
- aenis 4y agoUgh, this again. For no code to work one needs to be sure the framework can handle the requirements well, so customizations and workarounds wont be needed. To know the requirements sufficiently well one usually needs something in production, and years of experience with it. Why bother with no/low code then? If a more modern reimplementation is needed, it can be elegantly implemented in one of the bazzilion software stacks out there. Another big disadvantage is lack of developers that like those kind of things and know them well. Those who do know those frameworks usually cost a lot more. Lots of those relatively niche things, such as mulesoft, are really just means to strengten the vendor lock in, and are sold to management, not engineering leads, on the premise of lessening the reliance on actual engineering. Which of course is a lie.
- wussboy 4y agoThere’s always that one feature you need that’s not supported, and because you can’t just write some code to implement that feature, you’re stuck. I’ve told this story here before, but I spent a day knocking out a couple of hundred lines of code to provision users in our system. But we wanted to trigger that provisioning from Okta, so someone else spent months implementing it in Okta’s no code system. And at the end of the day only that dev knew how to use it or how to fix it. We would have been much better off keeping it in Python.
- deleted 4y ago[deleted]
- beej71 4y ago> Ugh, this again. It's cyclic. :) But one of these days (I figure with the help of machine learning), it'll actually reach Star Trek levels and we'll be out of a job.
- aenis 4y agoYes, I am sure. I am envisioning a hybrid between a GUI reducing the programming to dragging arrows between neat boxes, and co-pilot moving the mouse like an aimbot, freeing the non-programmer from having to do the totally-not-programming things with those arrows. This will be a great future.
- pantulis 4y agoI enjoyed the no-code vs code intersection framework. I would like to add that one needs to take into account that the no-code/low-code curve is _dynamic_: tools are always pushing to the right so the intersection between curves is not always static.
- bjpirt 4y agoI've had the displeasure of re-implementing some awful systems written in a no-code platform. If you're using low-code, you're still writing software, and good software is more than a bunch of if statements and function calls, it's a well-considered and understandable architecture too (or it should be) Low-code makes it easy for non-programmers to write systems, but there's no reason you would expect these non-programmers to understand how to architect these sytems well. This (IMO) is why systems written in low-code tools often become unmaintainable piles of mush.
- usrbinbash 4y agoProblem 1: The point where the two curves meet is almost always met sooner in a projects dev-cycle than expected. Problem 2: Coding something is one thing. Version-Controlling it, intergrating it into a deployment chain, running it in different Environments, Reviewing it, scaling it are a collection of entirely different beasts. Problem 3: As soon as the project hits a requirement where there is no lownocode solution (eg. integration with some custom monitoring system with no premade hooks available), the effort required goes through the roof, because now we have to interface the two worlds with each other, adding a layer of complexity that wouldn't exist if the entire thing had been code from the beginning.
- iostream24 4y agoI don’t understand the need for no-code software development. In my admittedly limited personal experience, any domain experts that were worth their salt were smart, and learning a programming language or two to the level required to make useful code contributions wasn’t really a problem. A physicist often learns some programming language anyway, somewhere along their educational path. I would be suspicious about the intelligence of someone who refused to use appropriate tools for specifying software behaviors claiming it too difficult. A baseball pro knows how to work and has a likely good mind, as does a culinary expert. I just don’t know anyone GOOD at a given field who isn’t also hardworking and smart. What’s the big deal? Why do we seek no-code software development solutions when code is the most precise concise manner to describe software behaviors?
- wonderwonder 4y agoPositive thing about no code is you can take a reasonably intelligent person with almost no technical no how but a willingness to learn and have them creating real software with a good low code solution in a month. Of course they will likely need someone with real experience to guide them for the first 3+ months. You need a really good training program though. Often the sales pitch for what these applications can deliver is overly aggressive though and the user is going to have to start to learn software architecture concepts eventually so everything is not a mess. I moved from full stack development to low-code and have been really impressed. There are of course limits, you can only use the components that have been created for the platform but overall you can produce some impressive applications. There are some very large corporations run by very smart people that have gone all in on low-code for the front end.
- dangerface 4y ago> Positive thing about no code is you can take a reasonably intelligent person with almost no technical no how but a willingness to learn and have them creating real software with a good low code solution in a month. I would expect that of any one trying to learn code tbh. Physics students in uni learn c in less than a month.
- TrackerFF 4y ago
- galoisgirl 4y agoNo code is just code with extra steps.
- foxbee 4y agoThe argument will continue to raise its head and it's a fair argument. But I think it is important that we evaluate on a per use case perspective. For example, for simple CRUD apps/internal tools, use a low code platform like budibase (https://github.com/Budibase/budibase https://github.com/Budibase/budibase). For building a SaaS platform, with relative complexity, that your business is built on, I would venture towards code. I remember a few (a lot) of years ago when Drupal / Wordpress came into the world. The same questions were asked, but today they solve a problem and they're simply easier to build a site with. What I do feel is important, is the extensibility of the no/low code platform. I am the cofounder of Budibase and from the beginning, we set out to build an open source, extensible low code platform for a specific use case (crud apps/internal tools). We believe if a tool is a part of the development stack, it should be open source (for obvious reasons).
- tpoacher 4y agoThe problem, as is often the case, lies in definitions. If you define code as "something you type" vs tools as "something you go click click", then of course you're in trouble as soon as something like labview or simulink come up. If you define tools as "things with a narrow, specific purpose, whose features limit them to that purpose" vs code as "tools that are sufficiently sophisticated and flexible to create other tools", then all these debates largely go away.
- mpweiher 4y agoRequired reference whenever "no-code" is mentioned unironically: "Since FORTRAN should virtually eliminate coding and debugging..." https://www.softwarepreservation.org/projects/FORTRAN/BackusEtAl-Preliminary%20Report-1954.pdf https://www.softwarepreservation.org/projects/FORTRAN/Backus...
- dangerface 4y agoAs developers we like to think we are super smart because we learned to code but it's really not that much of an accomplishment. I learned to code from a book that cost £60, most professionals spend a fortune and years learning their craft. I constantly find lay people who find out im a developer and then want to show me the code they copy pasted together to get something done. Sure its not pretty but it works and looks as good as any code spat out by a drag and drop no code tool. The people that like no code don't create software and thats why they like it, they like the idea they don't have to learn anything and can just click a button on a program to make a new program. It never works out like that, its always just code but with an awkward drag and drop ui instead of text. The real no code solution is a paragraph description of what the software should do and a big green button that gets an AI to create the new software. Until no code can provide a real solution it's just marketing a fantasy to people who don't know any better.