![]() The solution is clearly to build on top of existing solutionsĪtom and VS Code have a good customization and plugin ecosystem, which is also well documented. So it’s not hard to figure out that starting from scratch is too much work for a solo developer with no external funding. Code Autocomplete (for the language, the external libraries, and local functions ).□♂️ Building an IDE from scratch is a ton of work.Īfter having this idea and creating a mockup concept of it I started asking myself the question:Ĭreating an IDE from scratch there are the things you have to build, because users expect them: I’m curious to find out how people feel about this and if this makes any sense to build. I’ll leave how to solve this problem to the collective imagination. It gets more tricky for React Components. This is a little challenging because across libraries at the moment there isn’t a standard documentation format for each function.įor Clojure code where the documentation of functions is generally the function code, this is easy. The only missing point for a front end workflow is “Never have to look for Documentation”. Instant rendering of changes with Hot Reloading.Taking cues from the list of points previously mentioned this JS development workflow would have the following traits: Other than having a normal file view, one can create some boards that contain functions or full files.Ī killer application of this is in React.įor React developers this would be great to have a quick overview of components.Ī standard for many React developers is to structure components in the following way:Īn example use case would be creating a board with the component code, the styling, and the tests. The idea is to treat functions like you would treat files and folders like files. I think that VS Code at the moment is the best IDE experience out there so took some user experience cues from it and added this “functional view” of a project. With Eve, Chris Granger is trying to break this division and while I think it’s a great idea, there’s not much adoption. I’ll skip this as I think it’s okay to have a distinction between things like Jupyter Notebooks and IDEs for web development. I removed an extra point which is “ The coding environment can also show results, app windows, graphics, other tools.”. Show code in an “area of concern” not just in a file. Multiple editors with just one function in it.Able to get instant feedback on code changes (results, app windows, graphics, other tools.The smallest unit of code is the function.I also found some insightful comments providing additional ideas that still haven’t been implemented in most workflows, that can be summed up with. In “ All ideas are old ideas” Chris goes forward to say that Light Table is as much about rediscovering the past as about creating something for the future. When Chris Granger first posted about Light Table on Hacker News a lot of people started saying that he wasn’t inventing anything new. These two projects at the time of inception have definitely paved the way for something better than the current paradigm of files and folders to take hold. Eve: a programming language with an IDE that has a radically more human friendly approach to coding. ![]() Light Table: is an IDE that came before Atom/VS Code and Brackets.Let’s focus on what Chris Granger has done in this space: Light Table and Eve. There are two people working on fundamentally different software development experiences, Bret Victor and Chris Granger, there are others too, but these two people have had an outsized impact on new ways of thinking about programming. □ Here’s my concept for a functional text editor This is not a new idea, but maybe in the past, it wasn’t the right time for it. They’re not the best representation, in fact functions might provide a better one.Īs no IDEs think this way I decided to try and create a prototype for a new kind of IDE taking this idea as its guiding principle. We use files to store code because they’re a convenient way to serialize code. Up until now I always thought about code as a collection of files, connected through imports.īut really we import functions, not files. This concept is still mind blowing to me. ![]()
0 Comments
Leave a Reply. |