7 ms·
Show HN: CodePerfect, a fast, lightweight IDE for Go
- tlhunter 3y agoIronic that it has an in-window file menu and is currently macOS only. Usually it's the Linux/Windows apps that are ported to macOS that have this.
- alexvoda 3y agoYup, this is a very non-Mac-like Mac-only app.
- generichuman 3y agoThe GUI looks like Dear Imgui. Probably easier for the developer to not use Mac only APIs. Hopefully they fix it later.
- mparnisari 3y agoHow does it compare to Goland?
- jmercouris 3y agoI like that it is written C/C++. I remember Eclipse was written in Java, and I thought that was really cool. Java to edit Java.
- makapuf 3y agoFunny that you mention it, I was surprised that it wasn't written in go ( but I don't really care about the language it's written in.)
- robertlagrant 3y agoEclipse was less cool once you had to use it. Only IDE to have a restart option in the file menu, for when it got confused.
- TurboHaskal 3y agoThankfully we live in a world in which we constantly start new containers with every merge to master and the orchestrator will simply restart your container if it your application gets OOM killed, so Java is finally usable :)
- alexdunmow 3y agoIntelliJ has this too.
- stakhanov 3y agoI don't understand the past tense here, Eclipse is alive and kicking. I recently had to choose a Java IDE to learn/use. It's pretty much a clean slate for me, as I've done only very little java in the 20-odd years that I've been developing software, and none at all over the last five years. I comparatively looked into Eclipse, NetBeans, VSCode, and IntelliJ, and picked Eclipse. The main drivers of my decision: Eclipse doesn't force you into any particular build system like maven (or using one at all), and doesn't force you to lay out your project folder in any particular way. This was ideal for my polyglot project, where I wanted to keep the Java component minimalistic and avoid dependency hell. It also has a rich plugin ecosystem. With some of the other alternatives, I couldn't even use subversion, my preferred VCS, which is apparently exotic these days. The guts of the language server behind the Java tooling most commonly used with VSCode actually come from the eclipse project, while exposing only a tiny fraction of the functionality you'd get when using eclipse directly. It's both free as in beer and free as in freedom, and the Eclipse Foundation looks (at least to an uninformed outsider's eye) like a force for good in the Java ecosystem, fighting for what's right.
- robertlagrant 3y agoIt's past tense because the situation may have changed since I last used it. It was indeed a very generically (in a good way) built product, designed to accommodate all sorts of UI customisations and project layouts. I think once IBM decided to commoditise their complement a well-meaning software architect got stuck in with a deep plugin architecture, which is very smart but in practice used to get confused a lot. Glad to hear it's better now!
- atonse 3y agoInteresting choice to forego language server protocol. Has that been a performance bottleneck?
- msie 3y agoCool! Finally an IDE not based on electron or java! There has been another one but it was abandoned many years ago.
- fowlie 3y agoBeen using LazyVim for professional go development for over a year now. I can't see any features promised here that I do not already have. LazyVim is a NeoVim configuration for those who don't know. Together with the golsp its insane how good it is. Sometimes I miss those heavy refactoring functions that Jetbrains provide though, like extract function etc.
- laeri 3y agoAbsolutely agree. LunarVim is my NeoVim configuration of choice and 90% of my usual workflow is present and with the missing rest I can still manage to be productive enough. I don't see not having LSP as a positive aspect to mention by their IDE.
- sureglymop 3y agoI use NeoVim and write the configuration myself. It's great with LSPs and I love the fact that I can interface with my editor in Lua. In the same way, I love how Blenders interface is entirely scriptable with python. I wish Digital Audio Workstations like Ableton Live offered something similar.
- jossclimb 3y ago> No language servers. Why is that a good thing?
- keyle 3y agoThere is a lot of brouhaha about this. Two school of thoughts... - LSP are a good idea but a terrible execution, YAGNI, etc. - LSP are god send, burn my cpus I don't care I'm being a little sarcastic but I think that's the gist of it. I'm neither pro or against LSPs. I use them when available.
- alpaca128 3y agoThe negative opinions I've seen weren't exactly calling it a good idea, it went more along the lines of "it's now a distributed system more complex". Though honestly I think it's the best we have right now and it's worth the cost. Partially because I don't like IDEs and LSP doesn't need to be integrated and tailored to one specific environment.
- cnity 3y agoWhat I've heard (and what basically makes sense to me) is that falling back to the network layer as an abstraction is borne of web programmers trying their hand at building native applications (they do not know what dynamic linking is), with all that comes of it (both positive and negative).
- akdor1154 3y agoPretty sure LSPs communicate by stdin/out don't they? Agree generally.. But I gotta admit, MS's LSP protocol has been successfully implemented by many non-MS IDEs. I'm doubtful this would be the case had they defined a c api instead.
- cnity 3y agoI looked it up and apparently this is left unspecified[0]. So I suppose I take that back! Also yeah, I use LSPs and I myself don't have a strong grasp of the use of dynamically linked libraries. I don't mean it as a put-down of web programmers (I am one). There is value in this microservice type approach, though it does feel very "webby". 0: https://en.wikipedia.org/wiki/Language_Server_Protocol#Technical_overview https://en.wikipedia.org/wiki/Language_Server_Protocol#Techn...
- pjmlp 3y agoSo it is written in C or C++? Apparently Go isn't good enough to write an IDE, even that it lags behind Java.
- dragon111 3y agoWhy would you write an IDE in Go?
- pjmlp 3y agoBecause it is an IDE for Go.
- maccard 3y ago> Apparently Go isn't good enough to write an IDE, even that it lags behind Java. The GUI situation in go is poor, but other than that I would say go is an excellent tool to write the remainder of the IDE in.
- p0w3n3d 3y agowriting desktop UI is really difficult these days. I mean i'm not saying it used to be easier, but the amount of technologies you can use to write a web application or desktop/javascript application and easiness of creation is overwhelming, while the amount of GUI frameworks stays the same, while some of them are decaying (no new version for a long time). So we have objective-c/swift (new!) for macos, MFC for MSVC++, WPF/UWP for C# - all those for windows, and we have QT/GTK for Linux and de facto multiplatform. That's basically all usable at the moment, but GTK is heavy on windows/mac in my opinion. New languages bubbling up from the opensource ground meanwhile do not offer many bindings for those above, while QT had made it hard to do any reliable binding at all, apparently...
- pjmlp 3y agoHardly any different from going with C and C++, which could have been wrapped via CGO.
- mrweasel 3y agoWith a name like CodePerfect95 I had hoped for a different UI design.
- keyle 3y agoThanks for doing this, that is a massive achievement. My main nitpick is about picking up another IDE just for_ one_ language. I dislike VSCode as much as the next guy, but having an IDE just for Go doesn't make much sense to me in 2023. Most of us use far more than one language or stack every day, so there is enormous value proposition by supporting many languages, and even opening up possibilities with a plugin system. I hope you're considering those ideas. I guess you might since it's called CodePerfect and not GoSomething :) I think your pricing is on point though.
- progx 3y agoFast is not everything. Switch some years ago from Sublime to VSCode. Sublime is super fast, has many extensions, but VSCode is another league with more and powerfull extension and functions and a huge community. Electron etc. are not really arguments in 2023, cause my computer is fast, faster than i could do anything. The extensions and function help me working faster, not the text editor.
- carom 3y agoI still use Sublime. No complaints, and as a bonus it isn't an Electron app.
- mattlondon 3y agoAgreed. People talk about fast start-up times, and no latency etc like these are problems with vscode? I just did a cold start of vscode here and it took approx 1 second to start on a M1 mac. For what it is worth, I generally never really even close vscode during the day - its typically open for days and days at a time so startup time seems kinda unimportant. And as for latency, has anyone ever noticed any latency at all when using vscode? I certainly have not, and either way I have never been held back from coding by how fast I can type things, instead the limited function in programming has always been the thought process and deliberation for how to approach a problem. If anything, build/test times are the limiting factor after that, not UI latency.
- atonse 3y agoNever noticed UI latency when doing elixir programming. The slowdown is always the very slow compiler and language server. Takes a few seconds to even highlight issues, and that’s when it works.
- hknmtt 3y agoI am stuck with Goland, which i really like, because i cannot stand vscode. But like all jetbrains products, i use about 1% of the functionality of the IDE. So having appropriately priced alternatives, WITHOUT subscription model which i will never pay for, is very welcome. PS: all I use is terminal tabs, looking up functions/method/properties and their descriptions, go-to definition, open folder, and run tests(which is just small command anyway). as i have said, 99% of IDE is worthless to me.
- coolgoose 3y agoBut technically Goland isn't 'on a subscription model' but a 'you want updates you need to pay for it model' , nothing stops you for just paying 1 year and having that license for life :)
- mattlondon 3y agoHmm on their pricing page they say that only the pro version can be expensed. That seems a bit bold. Surely it is not up to them what can and can't be expensed. If it is just a terms and conditions thing of "oh if you want to expense this then it is exactly the same but twice the price" then that leaves quite an unpleasant taste.
- sneak 3y agoI don't think I'll ever use a non-free-software code editor. The risk of lock-in is too high. My editor is the most important tool I use every day, I don't want to be beholden to some company for my muscle memory.
- perbu 3y agoIt's interesting to see that they distinguish between pro and private users by not allowing private users a receipt. I'm pretty sure this is illegal where I live. I like the idea, though. If you're hobbyist you typically don't need a receipt.
- deleted 3y ago[deleted]
- pmlnr 3y agoI still enjoy Geany. It is lacking certain features I could do with, but it's joyful to use something that light: https://www.geany.org/ https://www.geany.org/