Same thing will eventually happen with something like devops, regardless of what programmer bros think.
The “No Code” Delusion
311–320 of 334 posts
Re: The “No Code” Delusion
#312The shown C code has a buffer overflow vulnerability: #include #include char *add_domain_name(char *source) { const size_t size = 1024; char *dest = malloc(size+1); strncpy(dest, source, size); strncat(dest, "@example.com", size); return dest; } `strncat` takes as a third parameter the maximum length of the appended string. strncat(dest, "@example.com", size - strlen(dest)); would be correct.
size_t len = strlen(source);
char *dest = malloc(len + sizeof("@example.com")-1 + 1);
strcpy(dest, source);
strcpy(dest + len, "@example.com");Re: The “No Code” Delusion
#313I was once at a company (X) that acquired another company (Y), and Y's main product was a graphical programming tool. Y advertised that their tool could speed application development up 10x. My (nontechnical) manager asked me "why don't you use Y's tool to build the project you're currently working on?" I answered with the following metaphor: Imagine you have to pick a bike to go on a trip. You're travelling on a wel…
At least not business-related complexity. Most complexity in those systems is accidental, exactly due to us using the wrong tools for the job (namely, 3GLs + frameworks), which do not provide the proper level of abstraction for the problem at hand.
Even for a single system, no one should be forced to use a single level of abstraction everywhere. The game industry has been mixing 3GL code and assembly whenever needed since it moved on from assembly. You don't have to stick to one for everything.
Re: The “No Code” Delusion
#314Earlier quoted context omitted.
You forgot a couple of things. You need to define the problem in a way that's complete (no missing corner cases) and be able to debug it when it goes wrong.
Good points. I think it's interesting to compare source code and legal documents. A similar need for precision, internal consistency, lack of loopholes is needed when drafting a legal contract or legislation. This is all done in natural language, but it doesn't make it magically easier.
Re: The “No Code” Delusion
#315Earlier quoted context omitted.
> "Visual Basic makes 95% of your task easy and the other 5% impossible". Think what you will of the readability of Perl, but it's hard to beat its motto: "making easy things easy and hard things possible."
Indeed. When I was finally exposed to Unix (SCO, yuck!) and Linux (Slackware, yay!) it was because I was trying to learn C and wanted free tools because I couldn't afford any commercial stuff at the time. But before I did much with C I became quite proficient with Perl. This really wasn't that long after absorbing all the VB material I could find at the time so it was interesting going from the one to the other, not…
Same here!
Re: The “No Code” Delusion
#316Earlier quoted context omitted.
Indeed. When I was finally exposed to Unix (SCO, yuck!) and Linux (Slackware, yay!) it was because I was trying to learn C and wanted free tools because I couldn't afford any commercial stuff at the time. But before I did much with C I became quite proficient with Perl. This really wasn't that long after absorbing all the VB material I could find at the time so it was interesting going from the one to the other, not…
> I still love using Perl 5 today even though it's totally out of style at this point. Same here!
Re: The “No Code” Delusion
#317Re: The “No Code” Delusion
#318I think those with a programming background take terms like "no code" far too literally. For those who've worked in finance IT, you may know of staff who've build incredibly elaborate models in Excel, and then have come to you when they need something that can't be done in Excel. "No code platforms" will likely work the same way. These platforms provide just enough interactive/dynamic functionality for non-programmer…
For example in the web space, Microsoft took a stab at it with FrontPage since the 90s. WordPress was released in 2003 and sits behind a third of websites [1].
New tools are popping up that are more complex, but IMO that's because people's expectations of a good web experience is also more complex. I am unconvinced that new tools in this space are fundamentally changing it— I think they're just keeping it up with the times.
[1]: https://wordpress.org/news/2019/03/one-third-of-the-web/
Re: The “No Code” Delusion
#319I was once at a company (X) that acquired another company (Y), and Y's main product was a graphical programming tool. Y advertised that their tool could speed application development up 10x. My (nontechnical) manager asked me "why don't you use Y's tool to build the project you're currently working on?" I answered with the following metaphor: Imagine you have to pick a bike to go on a trip. You're travelling on a wel…
The trouble with this analogy is that at some point an ATV comes along that’s much faster both on and off the road, but you’re still clinging to x86 because it’s more powerful than the “high level” languages like C. I generally agree with you, but I also suspect there’s a lot of room to improve the tools and it’s not always obvious when something is a paradigm shift in productivity or a dead end that will only work i…
Just because we can build a Ferrari doesn't mean that a Ferrari is efficient in all situations.
We have race tracks (smooth, evenly surfaced roads), highways (generally smooth roads over long distances), city streets (some potholes), gravel roads, dirt roads, and no-roads.
A tank isn't great for a race track. And a Ferrari isn't great for no-road.
The author muddles up the question to make their point.
What they're really saying is "no-code tools aren't a good fit for general purpose coding" (for all the reasons mentioned).
Which seems fair and accurate. But all coding is not general purpose coding.
Re: The “No Code” Delusion
#320Earlier quoted context omitted.
I mean, that's pretty much how I program things. I start new web apps with an MVC framework that auto-generates new pages. When I want to do something, I try to use someone else's code as much as possible. If I'm doing a simple, well contained task, someone else has already thought of it and made a library for it. If I need to send an email, I just do something like calling _emailSender.SendEmail(message). Easy peasy…
I am a lazy programmer in that way. I'd rather autogenerate and use robust libraries as much as possible.