Live data from Hacker News

Leapfrogging the IDE

amasad.me

61–70 of 98 posts

Re: Leapfrogging the IDE

#61
post #49
post #4

> "I have one file called index.js" Say it all really. Online coding tools may be fine for beginners, but think it would be next to impossible to do my work with one.

Where did you get this from? The blog you're reading this on is built and hosted on Repl.it ( https://amasad.me/__repl ) and it's source is 50 files and if you count node_modules that's thousands of files.

The bottom image, its a Reddit screenshot.

Re: Leapfrogging the IDE

#62
post #61
post #49

Earlier quoted context omitted.

Where did you get this from? The blog you're reading this on is built and hosted on Repl.it ( https://amasad.me/__repl ) and it's source is 50 files and if you count node_modules that's thousands of files.

The bottom image, its a Reddit screenshot.

Yeah they're describing their current issue, doesn't mean that's all he needs or all that it provides.

Re: Leapfrogging the IDE

#63

Coming from an enterprise background and having used Eclipse and IntelliJ for many years, I am honestly puzzled by the current trend in IDEs such as VS Code, Atom, etc. given their lack of fully features refactoring support, code search which goes beyond just simple text search, native understanding of classes, interfaces, method signatures etc. I have tried all of the above 'modern' editors and almost immediately fi…

I actually wonder about this too. At my previous job, nobody was using IntelliJ despite developing in Scala and Java. The code base was complex, not using an IDE had a noticeable effect on the kind of code people were writing. The code was much less cohesive, and looked more like a series of scripts than well architected.

Re: Leapfrogging the IDE

#64

Earlier quoted context omitted.

> It's hard to beat an editor for opening a file or directory you've never seen before and making a quick edit. You can be done before a more powerful IDE has even finished indexing the source code. I can't imagine this _ever_ being the case. Setup of an IDE is trivial compared to wrapping one's head around the first time look at a new project. I mean, you're talking about cracking open a new project you've never see…

One of my first jobs was writing PHP when editors only had syntax highlighting support for the language. I learned to write, debug, and refactor in Vim and 15 years later I’ve continued to do the same for Java, C, C++, JS, etc. Projects with 10s of KLOC (one of them might be 100s). It’s a different state of mind from IDE users. Not better or worse, just different. I’d hate to be stuck in IntelliJ all day, but most of…

I learned to code in Jupyter notebooks. I can't wrap my head around an editor or IDE, I build programs by writing small snippets of code, with all my variables loaded. When it does what I want I move to the next cell. Eventually I'll paste it all into a text editor do some final debugging and that's it. It is very annoying though when I want to start on an old program. I think I should try Spyder or something soon.

Re: Leapfrogging the IDE

#65
post #23
post #20

I don't know if this counts as the same thing, but I've recently started a Rails-based project on Google Cloud, using the cloud shell and its built-in editor. This is great because I don't have to futz around with a Vagrant environment or (worse) a straight Rails dev environment on my Mac, and I can do full-strength software development from the little Chromebook I like to carry around. A Chromebook plus a 100% cloud…

Just to be clear, what you carry around and enjoy using so much is essentially a wireless terminal to a mainframe.

It is ironic how we rejoiced with the freedom from the mainframe just for the current generation to go happily back to it.

Re: Leapfrogging the IDE

#66
post #59

Earlier quoted context omitted.

You can make the environment less of a snowflake. Nix, to automate software installs and per-directory (per-git repo) environments. NixOS, to do the same for your OS. Gradle, for automated IDEA setup. Or check the config into git. Cachix, to ensure your build artifacts remain available. These problems are solvable, and the solutions already exist.

Well, yeah. But it's still a snowflake, a dev environment with build/deployment configuration and needs that are significantly different from production cloud environments. And it requires a lot of setup, and a lot of knowledge to do it well (which I actually have). Writing a bunch of automation to hide the fact that I'm working on a snowflake is not the same as not working on a snowflake. Or, I can do my development…

Ah, memories of those DG/UX X Windows terminals accessed for the very first time in 1994 and VT 100 green phosphor telnet terminals, followed by the freedom of having Slackware 2.0 on my PC a year later....

Re: Leapfrogging the IDE

#67

Coming from an enterprise background and having used Eclipse and IntelliJ for many years, I am honestly puzzled by the current trend in IDEs such as VS Code, Atom, etc. given their lack of fully features refactoring support, code search which goes beyond just simple text search, native understanding of classes, interfaces, method signatures etc. I have tried all of the above 'modern' editors and almost immediately fi…

I've been using WebStorm and find myself using more and more VSCode which seems to be catching up. The three key differences for me are 1) licensing (working in different environments and can not always bring my own tooling or get tooling for the team fast enough to make it worth my while). 2) State: VSCode may not have a in depth model of what is going on but I can point it anywhere and get immediately some level of productivity. 3) Language agnostic. I often don't even know what I will encounter when I start out.

Working longer on a larger code base I would prefer a specialized IDE like WebStorm hands down but that seems not to happen so frequently.

Re: Leapfrogging the IDE

#68
post #44
post #28

Earlier quoted context omitted.

I think part of the trend of IDEs losing favor is that for years they controlled the build. I think that build environments have changed so much in the past 3 years or so that having the IDE control it outright has quickly become untenable. Sure, for some languages, like Java or C# I think it still makes sense to use a full-IDE. But for JS and Typescript, where you might run webpack or node or chrome or docker, the c…

I disagree. Webstorm provides all of the tools you need to customize your build, you don't have to use them at all but they're there when you need it. Webstorm integrates with popular build tools like Webpack and Gulp, and adds support for more tooling all of the time through plugins. There is really no reason to use another IDE for JS/TS unless you can't afford its very reasonable price.

Webstorm is essentially the only IDE that makes any sense for doing JS/TS work. Visual Studio is an unbelievable dog when you throw more than trivial amounts of JS code at it, to a degree that I cannot really understand, especially the apparently enormous resources that have been thrown at the problem in recent years. I routinely see VS splutter and die on smallish front-end projects when it runs like butter on six-figure LOC .NET and C++ solutions with dozens and dozens of projects.

Re: Leapfrogging the IDE

#69
post #66
post #59

Earlier quoted context omitted.

Well, yeah. But it's still a snowflake, a dev environment with build/deployment configuration and needs that are significantly different from production cloud environments. And it requires a lot of setup, and a lot of knowledge to do it well (which I actually have). Writing a bunch of automation to hide the fact that I'm working on a snowflake is not the same as not working on a snowflake. Or, I can do my development…

Ah, memories of those DG/UX X Windows terminals accessed for the very first time in 1994 and VT 100 green phosphor telnet terminals, followed by the freedom of having Slackware 2.0 on my PC a year later....

Thank Dog it isn't 1995 anymore.

(Memories from the same era - hand-rolling TCP stream protocols in lexx and yacc, because XML didn't exist and http was a toy)

Re: Leapfrogging the IDE

#70
post #57
post #2

TL;DR: Repl.it member (amasad, see note) wants to promote Repl.it by saying that more people are using Repl.it and thus it is the modern stuff because modern is having "no IDE, just a modern repl" and etc. So "modern, 2018" is basically having what Lisp developers have had since the early '80s. * https://repl.it/site/about

I wrote another essay on how Lisp got a lot of things right but we ended up where we are today because Unix, aka the New Jersey approach, aka worse is better approach, had won over: https://amasad.me/disintegrated

I think this is too much interpreting into it and the specific, and very different, views of people like Alan Kay and Richard Gabriel. Alan was a visionary who actually thought a lot about making programming and computing accessible - even to children. In the Lisp/AI community SOME were working on similar things (Minsky influenced LOGO for example). Richard Gabriel was running a Lisp vendor, which addressed the UNIX market with a higher-end Lisp development and delivery tool: Lucid Common Lisp. You'd shell out $20k and often much more for a machine and a LCL license. Customers were wealthy companies and government - the usual Lisp/AI customers who also wanted to deploy stuff efficiently.

> See the Lisp community practiced the Right Thing software philosophy which was also know as "The MIT Approach" and they were also known as "LISP Hackers".

A typical mistake is to believe that there is a single homogenous Lisp community, a single approach or a single philosophy. In fact the Lisp community was and is extremely diverse. If you look at the LISP hackers, their approach wasn't actually to do the 'right thing' (whatever that is), but to tackle interesting problems and having fun solving it. The Lisp Hackers at MIT (and other places like Stanford) were working for government labs swimming in money and people like Marvin Minsky provided a fantastic playground for them - which then clashed with the 'real world' when DARPA wanted to commercialize the research results it funded, to move the technology in to the field of military usage (also doing technology transfer into other application areas like civilian logistics). If you've ever looked at the Lisp Machine code, you see that it is full of interesting ideas, but the actual implementation is extremely diverse and grown over time. Often complex, under-documented, sketchy - not surprising since much of that was research prototypes and only some was developed for actual commercial markets. The 'MIT Approach' was creating baroque style designs. Is it the 'right thing' to have a language standard telling how to print integers as roman numbers?

Thus 'the right thing' might not be what you think - I think it is more 'image' than reality.

> The destiny of computers is to become interactive intellectual amplifiers for everyone in the world pervasively networked worldwide

That was Alan Kay's vision, not the vision of the Lisp community. Kay's vision was personal computing - and not the crippled version of Apple, IBM and others. Much of the Lisp community was working on AI and related. Which had much different visions and Lisp for them was a tool - they loved or hated. Lisp/AI developers think of it as 'AI assembler' - a low-level language implementing much higher-level languages ( https://en.wikipedia.org/wiki/Fifth-generation_programming_l... ). When no effective systems were available to be used as powerful development environments for small and medium-sized research groups - they invented their own networked / interactive development system using the technology they knew best: Lisp. They hacked up development environments and even operating systems. But it was not necessary to keep them, once similar platforms were available from the market. With Lucid CL one could develop and deploy a complex Lisp application on a UNIX workstation and were not bound to a Lisp Machine - which was still more expensive, used special hardware/software and was less general as a computing platform. Lucid CL was quite successful in its niche for a while - but Gabriel then tried to make that technology slightly more mainstream by addressing C++ developers with a sophisticated development environment - sophisticated, and expensive. This tool was then sinking the company. But, anyway, much of the commercial AI development moved to C++ - for example most of the image/signal processing stuff.

Parts of the Lisp community shared different parts of the Kay vision: OOP as basic computing paradigm (Flavors, Object Lisp, CLOS, ...) , accessible programming (LOGO as an educational Lisp dialect), intellectual amplifiers (AI assistants) - but where Kay developed an integrated vision (Smalltalk and especially Smalltalk 80), the Lisp community was walking in all directions at the same time and this created literally hundreds of different implementations. Simple languages like Scheme were implemented a zillion times - but only sometimes with an environment like that of Smalltalk 80.

The Lisp community addressed both medium and high-end needs. Something like Interlisp-D (developed right next to Alan Kay - but as a development tool for Lisp/AI software and not addressing programming for children and similar) was a very unique programming tool, but its user base wasn't large and more towards the higher end of development - most of it still in AI. There was no attempt to make that thing popular in a wider way by for example selling it to a larger audience. It was eventually commercialized, but Xerox quit the market with the first signs of the AI winter in the 80s. Its actual and practical impact was and is also very limited, since only very few living developers have really seen it and almost no one has an idea what to do with it or even how to use it. It's basically lost art. I saw them in the end 80s when they were on they way out.

I doubt that from hundred authors of advocacy articles has even one used something like Interlisp-D or Lucid CL to develop or ship software. I know only very few people who have actually started it, even much less having seen it on a Xerox Lisp Machine. So much of it is based on some old people telling about it and very few have ever checked out how much of what they hear is actually true and how useful that stuff actually is. One reason for it: it's no longer available.

The 'worse is better' paper was slightly misaddressed at the Lisp users - since they were not after the operating system and base development tool market (like UNIX and C was) and were not married to a particular system or environment. They used Lisp on mainframes in the 60s/70s, on minicomputers in the 70s/80s, on personal workstations (even developing their own) in the end 70s / 80s and personal computers from the 80s onwards - unfortunately Lisp never really arrived at mobile systems - though it participated in an early attempt (transferring a lot of technology to the early Apple Newton - or what it was called before it was brought to the market - projects). The main Lisp influence on what we see as web technology, was the early influence on Javascript.

Post reply on HN