Live data from Hacker News

Conception – An experimental modern IDE written in Go

github.com

71–80 of 81 posts

Re: Conception – An experimental modern IDE written in Go

#71
post #65

Earlier quoted context omitted.

That's not what 'spaghetti code' means.

No? Why? By what definition?

The thing about spaghetti code is it's like spaghetti: if you try to follow one strand (of execution or pasta) you get mixed up with all other strands.

Re: Conception – An experimental modern IDE written in Go

#72
post #54

Earlier quoted context omitted.

This is one of those "software engineering best practices" that sounds nice but has no basis in reality. What matters is the formal structure of your program: types, composition, state, capabilities. Where your code is located on the filesystem is incidental complexity. My thinking is more along the lines of http://erlang.org/pipermail/erlang-questions/2011-May/058768... and http://tonymorris.github.io/blog/posts/ide…

> This is one of those "software engineering best practices" that sounds nice but has no basis in reality Are you a programmer? What languages? > Where your code is located on the filesystem is incidental complexity. Incidental complexity is still complexity to deal with. It isn't easy for me as a developer to find such and such routine if you've thrown everything into a big bucket named "main". You also omitted the…

I get paid to program c, c++, java, python, and r (not necessarily in that order, with other languages as needed) and there's nothing inherently wrong with a 500 line method if that's what the problem calls for.

It's grounds for getting the stink-eye in code review, but to reject it out of hand is pure ideology.

Re: Conception – An experimental modern IDE written in Go

#73
post #63

Earlier quoted context omitted.

Setting up email alerts for Clojure stories sounds useful. Can you describe how you do that? I couldn't find a way to set up alerts, either using hn.algolia.com or using Google Alerts.

You should give a try to http://hnwatcher.com , it's an alerting tool based on the HN Search API. I personally follow the "algolia" keyword -> it helped me get your question mentioning "hn.algolia.com". Enjoy ;)

This or IFTTT are the two methods I've used.

Both work well.

Re: Conception – An experimental modern IDE written in Go

#74
post #54

Earlier quoted context omitted.

> This is one of those "software engineering best practices" that sounds nice but has no basis in reality Are you a programmer? What languages? > Where your code is located on the filesystem is incidental complexity. Incidental complexity is still complexity to deal with. It isn't easy for me as a developer to find such and such routine if you've thrown everything into a big bucket named "main". You also omitted the…

I get paid to program c, c++, java, python, and r (not necessarily in that order, with other languages as needed) and there's nothing inherently wrong with a 500 line method if that's what the problem calls for. It's grounds for getting the stink-eye in code review, but to reject it out of hand is pure ideology.

"there's nothing inherently wrong with a 500 line method if that's what the problem calls for"

Yeah, "if", but that's rarely the case :) Care to show me an open-source example of a function 500 lines long where you don't think one could find proper seams to split the code along? Ideally in https://github.com/shurcooL/Conception-go/blob/master/main.g...

Re: Conception – An experimental modern IDE written in Go

#75
post #44

Sweet lord, https://github.com/shurcooL/Conception-go/blob/master/main.g... is nearly 9k lines long! What a spaghetti. Is that the author or the language?

It's an open issue, please see https://github.com/shurcooL/Conception-go/issues/3 for more context. It was helpful to me to keep everything in a huge file during initial development for a few reasons: - I wanted to learn what happens when you break the convention that a project should be split into many files. - I wanted to test the limits of various tools I am using and building. The main.go kinda works as a worst c…

Thanks for the clarification! Best luck with the project.

Re: Conception – An experimental modern IDE written in Go

#76
post #69
post #65

Earlier quoted context omitted.

No? Why? By what definition?

I'll bite. We were just talking about spaghetti code in the context of the Toyota ETCS. In that case, static analysis was used to measure the cyclomatic complexity of the code and even then some comments claimed that wasn't enough to immediately qualify as 'spaghetti code'. https://news.ycombinator.com/item?id=8905718 Spaghetti code refers to the complexity of tracing cause/effect through a set of routines increasing…

> Functions should be atomic, re-usable, repeatable, clearly defined, and well encapsulated.

And when they're very long, it's a warning flag indicating that they may NOT be atomic, re-usable, repeatable, clearly defined nor well encapsulated.

Also bear in mind that code is not carved in stone, but subject to constant change in every project that isn't deprecated, let alone in one under active development. This is why we judge its design not only by what qualities have been achieved up to this point - but also by whether the design serves to prevent them from deteriorating.

A long function that's reusable at the moment is at much greater risk of becoming unreusable than a concise one.

Readability is of great importance, too, since code is meant to be read by humans.

Note that the author himself kindly replied to my comment and admitted that he's going to refactor - https://news.ycombinator.com/item?id=8908307

Poor readability and messiness is acknowledged as an issue at the moment, since it is (to quote https://github.com/shurcooL/Conception-go/issues/3) "hurting readability of the project for other people". What else is poor code readability if not (to quote your words now) "difficulty of understanding the purpose, intent, actions, and side-effects"??

> I don't see lines of code as a direct factor in judging a function implementation, as long as those lines are spent moving the feature forward and not violating "DRY".

Well, in this case we have to agree to disagree I guess :)

Re: Conception – An experimental modern IDE written in Go

#77

Sikuli is also based on a similar idea and is written in Python. I am guessing it boils down to preference, but writing code as it is written now involves a lot less 'mouse' and much more keyboard, which most developers, me included, take for granted. I do agree that currently code written has very high limitations on re-usability, primarily because code is written with a specific project in mind. I believe two thing…

I think Sikuli is written in Java?

Re: Conception – An experimental modern IDE written in Go

#78
post #73
post #63

Earlier quoted context omitted.

You should give a try to http://hnwatcher.com , it's an alerting tool based on the HN Search API. I personally follow the "algolia" keyword -> it helped me get your question mentioning "hn.algolia.com". Enjoy ;)

This or IFTTT are the two methods I've used. Both work well.

Thanks! I'll try hnwatcher.com for now. I emailed the creators because I didn't get a confirmation email yet, but it looks like what I was looking for.

Re: Conception – An experimental modern IDE written in Go

#79
post #74

Earlier quoted context omitted.

I get paid to program c, c++, java, python, and r (not necessarily in that order, with other languages as needed) and there's nothing inherently wrong with a 500 line method if that's what the problem calls for. It's grounds for getting the stink-eye in code review, but to reject it out of hand is pure ideology.

"there's nothing inherently wrong with a 500 line method if that's what the problem calls for" Yeah, "if", but that's rarely the case :) Care to show me an open-source example of a function 500 lines long where you don't think one could find proper seams to split the code along? Ideally in https://github.com/shurcooL/Conception-go/blob/master/main.g...

I don't make it a habit of reading through open source code unless I'm trying to fix a bug (or, more often, get it to compile).

Re: Conception – An experimental modern IDE written in Go

#80
post #6

Why should being written in a particular language matter? We see a lot of these “written in Go”s these days for a lot of new softwares. I’m a big user of Go myself. Love the language and use it for almost everything. But I just don’t get why an editor or IDE or static site generator or any other piece of software brag about using a particular language or library.

It's Hacker News. A community of hackers. The first thing I look at when someone shares a project is what language it's implemented in because it is interesting to see how other hackers' approaches. Having "... written in X lang" in the title just makes it easier to find projects I may have interest in.
Post reply on HN