A Web IDE for Teams using Golang
github.com
github.com
The only reason I can think of for the existence and continuous implementations of this idea is when you regularly develop on different machines where you can't set up development environments. And here again I can't imagine why such a thing would ever happen to a typical programmer, let alone to a team of developers (presumably at a company).
But what is the purpose of creating yet another Web IDE (for Go) if there are already many established open source solutions like Eclipse Orion? They could just add a Go code completion and a build service to it.
I would love to code right up until 17:15, then go pick up my kid, have dinner, play with his trains or Duplo blocks, and then at 18:45 when my wife takes the kid in for his bath, be able open my laptop at the dinner table and get right back to the work I was doing, with the same code editors and test cases open, breakpoint on the same line of code, and take advantage of that 23 minutes or so by picking up right where I left off.
I used to just have a beefy workstation dialed in at my office, and do all my coding there. When I got in the zone, I'd just stay as long as I wanted.
It was having kids that broke that arrangement for me, but I can see how it could be different things for other people. The change is that I now have things I have to (and want to) do, that require me to be certain places at certain times. So being able to code anywhere, with all my state preserved, would be terrific.
It's not so much about setting up the development environment (although that is actually pretty annoying for me this week, with the 4 Macs I regularly use all being upgraded to 10.10). It's about being able to just drop what you are doing RIGHT NOW and leave that window open with the half-written line of code, not even compiling much less something you want to check in, and then picking it up again right from that spot, when you are physically somewhere else.
That's the dream anyway. The reality is that I just mostly code less these days, and do more of other things (like writing) which are actually totally portable using current technology. But I would like it if someday my dev tools could keep all my developer state in the cloud, and yet have UX as good as the leading native IDEs. We aren't there yet, though.
[1]: Haven't tried them all, of course, but I feel like I've tried enough to extrapolate about the where the state of the art currently is.
I see such a tool being useful for PHP / Web admins, provided said tool is setup secure (and hidden very well as a security fall back). Sort of the same way PHPMyAdmin is used, minus the PHP back-end. There's plenty of benefits to web based desktop applications, install once, run from everywhere, including devices that cannot possibly run an IDE but can run a browser, like computers with terrible processing / ram speeds, or tablets.
As for the "edit files via ssh". Just stop. Please. This is why we can't have nice things. Etc.
If you want to collaborate that's great, but live editing files on a server via ssh is such a bad idea I can't believe I have to say so in 2014. Think of it like the tech equivalent of "don't let your 6 month old baby drive a bus on an icy road at night after a pub crawl"
Actually, if anyone else has any experience here I'd gratefully welcome it.
Debugging was one of the primary reasons of moving away from Sublime3 for me, though I didn't try Sublime with Go.
Most Go devs use logging/printing to debug. Mainly because of the prolific use of Goroutines, properly debugging an app can be very difficult.
On the other hand, improvements you make to your personal local dev environment are local and not helpful to others.
Consider the time it took you, when learning Go, to setup gofmt on save, then after some time you might discover goimports and start using that. A newbie coming into Go will not have the benefit of goimports-on-save the way you do.
However, if they use the same web IDE, they will have the same good initial experience as you.
Just answering the question directly... That is one advantage.
(Also, lots of people are using an outdated version of goimports with bugs that have been fixed upstream; this should be a lesser problem with a web IDE.)
How do you have that in a Web IDE?
Specially taking into account all the use cases a programming language is used for.
Maybe thats one advantage.
> Text editor (vim/emacs/sublime/Atom, etc.): For the Go newbie is too complex
Text editor may be hard(?) to setup for a go newbie, although I do not personally agree with this statement, but at least local shell + text editor + command line compiler is a well known and understood stack. A newbie having a problem with it can always ask for help - coworkers, friends, online, etc., and solution is always within her control.
Replacing this stack with a web-based one will change a set of known problems into a set of unknown problems, outside of anybody's control, except for the b3log and their team. And their software is fresh and untested, and surely contains a lot of bugs, as any new code.
I'm not sure that sounds like a good value proposition - not to me.
I still have weird environment and cygwin/msys issues on windows when trying to set up Idris or rust or even some node packages that insist on compiling native code on install.
1) There are a few comments the question the appeal of web based IDEs. My view is that this because IDEs are generally quite refined pieces of software: the people who use them are also authors, etc. It's hard for a new IDE of any type to compete with that at the start.
HOWEVER, Web-based IDEs have some very attractive features. The ability to always have it available and customised to how you want it, with state shared across multiple computers is very attractive. Remote compilation and dependency/library management is much nicer than local, especially with the integration automatic versioning. Shared, multiuser coding spaces are also much more natural.
2) Regarding this IDE: I'd love a good Go IDE. The thing that stopped me diving deeply into Go last time I tried it was that I missed refactoring support. At least it seems to have autocomplete.
(The HN email field is private - it has to go in the "About Me" section)
On reddit: http://www.reddit.com/r/golang/comments/23c7y0/why_is_golang...
/lazyweb
This is not an isolated example. People, please. For open source code stick to english in the code. Otherwise, you needlessly exclude anyone who doesn't speak your particular language.
I was about to dive into the code thinking "this thing looks cool, maybe there's something to learn from it". This turned me away instantly.
I'm no expert but that sample you gave me looks like Simplified Chinese, which should be readable by about 1.2 billion people[0]. There is no solid data on how widespread English is yet but I think if 1/6th of the earth speaks a language which is also an official language of the United Nations, programmers should be able to use it without criticism.
It might be an unpopular view on a site seemingly populated mostly by Americans but there's a big world out there and not everyone is at a comfortable level of English proficiency.
I know it's disappointing not to be able to contribute but I also think it's wrong to expect everyone who wants to build an open source project to restrict their communications and comments to English, especially when most of the world's population doesn't speak it.
Plus, 30% of developers are from the Asia/Pacific Region, comparable to developers in the Americas[1]. Familiarity with Chinese is going to be comparable to familiarity with English.
Just to add a little more, Go specifically may very well be more popular in China than it is in the English speaking countries[2].
[0] http://www.ethnologue.com/statistics/size [1] http://www.techrepublic.com/blog/european-technology/there-a... [2] http://herman.asia/why-is-go-popular-in-china
Just because a language is accepted at the UN doesn't mean everyone should be familiar with it. Even the UN needs translators for Arabic, Spanish, Russian, French and Chinese; all official languages. (Aside: the UN Secretariat uses only English and French).
Being a UN accepted language shouldn't be a criterion for programming, being popular among developers should be. And anyone writing any piece of code in any human language, be it English or Chinese, should know that by making that choice, they are also limiting the set of understanding eyes that can be laid on their code.
There needs to be a common, agreed on ("standard") intercommunication language for exchange of knowledge to happen. For computer science related things, programming in particular, this is english. This happened historically because a lot of the development took place in the US and it is also a good choice, because english is easy to learn (I'm no native speaker btw.). Had computers been developed mainly in china I would very likely write to you in chinese at this moment (which would be a bad choice because it is badly suited as a global intercommunication language).
But they weren't and english is the lowest common denominator everyone doing CS is required to know. Hell, anything on the internet. If you deviate from this than you hinder the free exchange of knowledge and ideas which is bad.
Do not use any language other than english in public code. It is a bad idea because it needlessly alienates the larger part of mankind. It's not about "having it my way" or having others cater to my needs. I'm not advocating it because it is the easier choice for me, but because it is the better choice in the big picture.
OK, I guess your experience as a non-native speaker validates that claim?
I don't see how the claim "English is easy to learn" is obvious on an international level.
> I'm not advocating it because it is the easier choice for me,
But it also is an easier choice for me. Doesn't matter if you're a native speaker or not, since you're obviously comfortable with it.
(On this topic I also see a lot of "I wish everyone would just write in English/speak English in these contexts, and I'm not even a native speaker!", implying that they're an unbiased party. No, if you have a good command of the language, you're about as biased as any native speaker on this debate, really.)
I've poked at C++ with Japanese comments once; I ended up just ignoring those comments completely and reading the code to figure out what was going on. I don't think those authors should have written the comments in a language they didn't seem to be comfortable in either; they probably never thought about who would look at their code.
It's open source; they don't owe it to you to make it easy to work with for you, and you don't owe them to work on it even if you are uncomfortable with the comment style.
// Editor operations (...) // TODO:.
Is currently calling liteide_stub tool
to find statement, the subsequent need to reimplement
Baidu translate: / / editor operation. (...) / / TODO:
is now calling the liteide_stub tool
to find the following statement,
the need to re implement
Between the two of those it is clear what this comment means. Had they written it in 'Chinglish' the result would probably be similar, but in that case nobody would know exactly what they meant, not even those who read Chinese.I am guilty of them also. A lot of time after 6 months, 1 year and I go back to the source/document I wrote, I have hard time out my writings.
I think the reasons are a lot of sentences/paragraph we wrote are highly dependent on the contexts of author's mind and the state of that particular moments of developments. It might just make sense within those contexts. When one forgot them or other try to read sentences out of the context, it become very difficult to understand.
I have some documents on power management code related to particular SOC + linux kernel + .ko + user app + pm scripts. They are very hard to understand for myself after a few months.
I don't know the best way to solve this.
I wrote a small script [1] to translate this really cool Go blog [2] from Chinese using a free Bing API.
1: https://github.com/oyvindsk/Tore-the-translator 2: https://github.com/fuxiaohei/GoBlog
Ok, maybe their english sucks. Do you ever get better at something by not practising?
I have to say, from this and your other comments ("Do not use any language other than english in public code"), you come off as extremely arrogant.
Also, is it not allowed to make statements anymore? Yes, it is my opinion that it is very bad practice to use anything but the de-facto standard intercomunication language for CS in programming code. Do I have to pre-/post-fix everyhing with humble phrases and opinion disclaimers? When was that established?
Learn Chinese?
And I suppose everyone else should learn chinese too? Just because a bunch of programmers is lazy everyone else needs to change?
And you call me arrogant.
Don't be so touchy.
I make bold statements because I have a strong opinion on this based on experience and good reasons. That is not arrogance. Insert redundand humble phrases here (IRHPH). Tell me about this again after you debugged an old program written by the friendly (insert nationality) colleague who left the company, and wrote all his code in (native tongue) under time constrains.
The question of who should learn which language should be answered in this way: The correct way is so that it takes the least learning effort overall (added up) while enabling maximum exchange of knowledge and ideas. IRHPH. At the moment that means english is the way to go. IRHPH.
And just to make this clear: I'm not demanding anyone do anything in any way. I'm just pointing out that it is a bad idea. IRHPH