the best development environment

721 views
Skip to first unread message

zhengk...@gmail.com

unread,
Jul 31, 2014, 11:10:54 PM7/31/14
to golan...@googlegroups.com
most of people said that the best development environment is mac, then linux and windows , why?

Peter Nguyen

unread,
Aug 1, 2014, 5:38:28 AM8/1/14
to golan...@googlegroups.com, zhengk...@gmail.com
Because Mac has all the eye candies + unix shell. It's like Windows married Linux and gave birth to a genetically improved super child.

Jan Mercl

unread,
Aug 1, 2014, 5:47:36 AM8/1/14
to zhengk...@gmail.com, golang-nuts
On Fri, Aug 1, 2014 at 5:10 AM, <zhengk...@gmail.com> wrote:
> most of people said that the best development environment is mac, then linux
> and windows , why?

I think Linux is better. At least one Go development related tool is
broken on OS X.

-j

Nico

unread,
Aug 1, 2014, 6:03:56 AM8/1/14
to golan...@googlegroups.com

Sam Fourman Jr.

unread,
Aug 1, 2014, 6:12:00 AM8/1/14
to zhengk...@gmail.com, golan...@googlegroups.com


On Thu, Jul 31, 2014 at 10:10 PM, <zhengk...@gmail.com> wrote:
most of people said that the best development environment is mac, then linux and windows , why?


I happen to use FreeBSD, it works well for me.
--

Sam Fourman Jr.

Tyler Compton

unread,
Aug 3, 2014, 6:14:20 PM8/3/14
to golan...@googlegroups.com, zhengk...@gmail.com
If you ask me, a lot of it is about a combination of personal preference and what you're doing. Personally, I really don't like working on Mac, but that's only because of the floaty way it deals with windows, and that's not a Go-specific issue. Personally, I would say Linux is the best development environment, since you can customize almost anything about it to fit your needs. There are some pretty snazzy looking desktop managers out there, too, if you care about that kind of thing. If you're writing a web server, you're probably going to deploy it on a Linux system anyway. Not to mention that the Mac implementation seems to have issues.

With that being said, I do a lot of Go programming on Windows 8, and while it's certainly not the best environment for Go, you can definitely make it work. I would say do whatever makes you feel most comfortable.

Matt Silverlock

unread,
Aug 3, 2014, 6:58:19 PM8/3/14
to golan...@googlegroups.com, zhengk...@gmail.com
It's ultimately a personal choice.

*I* (and I imagine others) like Macs/OS X because of some combination of hardware quality (screens, battery life, trackpads, etc), OS X desktop software (i.e. Photoshop, Macaw, etc.) and the BSD/Darwin underpinnings that make it relatively easy to install open source tools and write code on.

Others may use Linux/BSD if they prioritise he latter and/or enjoy the customisation options that some DWM's afford.

Shawn Milochik

unread,
Aug 3, 2014, 7:20:01 PM8/3/14
to golan...@googlegroups.com
Are there even any big differences among OSs for developing in Go? I've written for Python for a bunch of years. I started on Windows, moved to a Mac, and eventually went to Linux. For me, development was much easier in Linux because it is so much easier to get a development environment set up. Everything is easier to install, and the OS package managers have everything. I need. It's a lot harder on a Mac, and many Mac users develop using Linux in a VM for these reasons.

But Go kind of "just works," and you don't have all the issues like you do with Python dependencies. For example, having to compile and/or install C/C++ libraries to get certain packages to "pip install." Go packages, once on your GOPATH, just work. 

Stefano Casillo

unread,
Aug 3, 2014, 8:34:30 PM8/3/14
to golan...@googlegroups.com, zhengk...@gmail.com

On Friday, August 1, 2014 11:10:54 AM UTC+8, zhengk...@gmail.com wrote:
most of people said that the best development environment is mac, then linux and windows , why?


It really comes down to what you need to do.
Personally I do PC and console games, that means I've always been working on Windows where you get arguably, with Visual Studio, the best C++ IDE and the best development environment when using C#. The entire Visual Studio experience is very hard to match, the debugger integration, the fantastic intellisense, the general tightness of the entire system.. it's pretty easy to get spoiled by VS and when you move to other platform they'll all look very primitive. So, for what I do, Windows is easily the best development place to live in.

As far as pure Go is concerned, I use LiteIDE, so my experience is pretty much identical on Win and Linux.. The install process is the same (unzip, set some env vars, add to launcher), the look and feel is pretty much the same. Where Linux gets the edge is when Go needs to interact with C. On Windows it means installing "alternative" C compilers like MinGW.. on Linux everything it's usually already there or one apt-get away. The more you dig into using C stuff and libs in Go the more you start noticing that, on Linux everything is "at home", it's designed to be that way.. while on Windows you are on the non standard path... libs often come with binaries for Visual Studio, so, to use them with MinGW you need to look harder, use more tools unfamilar to the Windows world such as autoconf/automake.
The nature of Linux also makes it an hit and miss with hardware support. I had to build a desktop for it because there was no way to fix the wifi on my super-gaming-laptop... again, for what I do (modern games) Linux is more of a pain than a pleasure because often things simply don't work.


I can't comment much on Mac tho.. not a Mac user and not planning to become one anytime soon... I just miss to see the point behind it.

  

Milan P. Stanic

unread,
Aug 4, 2014, 5:21:36 PM8/4/14
to golan...@googlegroups.com
On Thu, 2014-07-31 at 20:10, zhengk...@gmail.com wrote:
> most of people said that the best development environment is mac, then
> linux and windows , why?

Because Apple have clever marketing besides quality hardware.

<sarcasm>
And using OSX is a status symbol (sort of) and looks sexy these days.
</sarcasm>

If the question was something like 'what is the best development
environment' my answer would be totally different. Debian, of course ;-)

--
Kind regards, Milan

Tyler Compton

unread,
Aug 5, 2014, 3:16:21 AM8/5/14
to golan...@googlegroups.com, m...@arvanta.net
<sarcasm>
And using OSX is a status symbol (sort of) and looks sexy these days.
</sarcasm>

No need for the sarcasm markup! I think everyone agrees that Apple products are very trendy, even if that's not their reason for using them.

Andrew Gerrand

unread,
Aug 5, 2014, 3:21:37 AM8/5/14
to zhengk...@gmail.com, golang-nuts
This forum is for discussion of the Go Programming Language.
This topic of this thread is out of the scope of this forum.
Please keep discussions on topic.

Thanks,
Andrew

Karsten Wegmeyer

unread,
Aug 5, 2014, 9:02:18 AM8/5/14
to golan...@googlegroups.com, zhengk...@gmail.com
I don't htink the question is that worse. But trying to find the answer in an OS is strange! The best OS is the one you've got a keyboard to right now! As an OS-nomand i don't care wether it is OS X, BSD, LINUX, Win 7 or 8 or Server 20012 or...

But as "best Environment" i would consider an IDE that helps me reducing bugs ( just as Eclipse or Netbeans do for Java and other languages) and develop even complex strucuters in a controlled manner. I tried by now:


- vi: 
well i like vi for scripting or a short edit but not for projects

- sublimetext2 :
i love this editor very much and you get it for a lot of OSes with a very huge amount of plugins. Those for go work well, but completion for imported paths ( as Netbeans does for PHP) ist missing. Completion of external Types or Interfaces is not the best. But it works...it's ok!


- LiteIDE:
A Specialized IDE for GO? Many ideas and wishes came up. I downloaded and tested it and....am disapointed! Sublimetext2 has more to offer by now! It is a work in progress and there may come more. By now, to me, it is not much.



I haven't tried the Eclipse-Plugin and i haven't used the intelliJs IDE yet. Perhaps anyone might share his experiences with those "Development Environments" ? And perhaps this would give this thread a turn to a more accepted region here in this forum? Or is this still to far away from the forums topic to you all???

Peter Bourgon

unread,
Aug 5, 2014, 9:07:25 AM8/5/14
to Karsten Wegmeyer, golang-nuts, zhengk...@gmail.com
> - sublimetext2 :
> i love this editor very much and you get it for a lot of OSes with a very
> huge amount of plugins. Those for go work well, but completion for imported
> paths ( as Netbeans does for PHP) ist missing. Completion of external Types
> or Interfaces is not the best. But it works...it's ok!

I suspect your GOPATH is misconfigured within Sublime Text. Immediate
detection of external packages and autocompletion of all types works
great for me.

Michael Jones

unread,
Aug 5, 2014, 9:18:36 AM8/5/14
to Peter Bourgon, Karsten Wegmeyer, golang-nuts, zhengk...@gmail.com
Yes, sublime with Go is...well...sublime. Magical even.



--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Michael T. Jones | Chief Technology Advocate  | m...@google.com |  +1 650-335-5765

Josh Kamau

unread,
Aug 5, 2014, 9:23:17 AM8/5/14
to golang-nuts

I have tried liteIDE, sublimetext2, intellij plugin and emacs. 

LiteIDE worked perfectly for me but i needed some support for web stuff (css/html/js). Sublimetext and intellij are both great too. I didnt want to get too much used to them for non technical reasons (sublime is not opensource and for intellij, i need to buy the ultimate edition to get support for web stuff. ) So i went back to emacs. With gocode and go-mode plugins, it has all i want for an IDE.  I write clojure code too and that makes emacs more appealing.  

As for the OS, i am comfortable with fedora 20 with gnome3 desktop.  I have a Mac but i find emacs un usable on it mostly because of the key bindings that i am familiar with (I know i can configure emacs to work with it... )

Josh


Karsten Wegmeyer

unread,
Aug 5, 2014, 9:29:35 AM8/5/14
to golan...@googlegroups.com, wegmeyer...@googlemail.com, zhengk...@gmail.com, pe...@bourgon.org
i thought sublime will take my $GOPATH i exported? Or do i have to change anything else?

what i mean is writing i.E.

Import ("")

Having the Cursor within the Quotes and then hit CTRL+SPACE to complete it to i.E. "MyApp/modells"
And later on having

user = new(modells.)

and again hitting CTRL+SPACE here to get i.E. modells/User.go
This is something i appriciate when using Netbeans for other languages.
Same happens when accessing the attributes of User, let's say:

user.FirstName ="YouKnowWho"


in sublime i have to write them once in a file to have sublime to complete it afterwards. I would prefer to have the IDE to know when i define a var of modells.User what attributes there are. Those things i am missing. If this is because of a wrong configuration the i would be pleased to know!

Ian Davis

unread,
Aug 5, 2014, 9:41:14 AM8/5/14
to golan...@googlegroups.com
On Tue, Aug 5, 2014, at 02:29 PM, Karsten Wegmeyer wrote:
i thought sublime will take my $GOPATH i exported? Or do i have to change anything else?
 
what i mean is writing i.E.
 
Import("")

 
Having the Cursor within the Quotes and then hit CTRL+SPACE to complete it to i.E. "MyApp/modells"
And later on having
 
user =new(modells.)

 
and again hitting CTRL+SPACE here to get i.E. modells/User.go
This is something i appriciate when using Netbeans for other languages.
Same happens when accessing the attributes of User, let's say:
 
user.FirstName="YouKnowWho"

 
 
in sublime i have to write them once in a file to have sublime to complete it afterwards. I would prefer to have the IDE to know when i define a var of modells.User what attributes there are. Those things i am missing. If this is because of a wrong configuration the i would be pleased to know!
 
 
 
Ian

Peter Bourgon

unread,
Aug 5, 2014, 9:41:32 AM8/5/14
to Karsten Wegmeyer, golang-nuts, zhengk...@gmail.com
On Tue, Aug 5, 2014 at 3:29 PM, Karsten Wegmeyer
<wegmeyer...@googlemail.com> wrote:
> i thought sublime will take my $GOPATH i exported? Or do i have to change
> anything else?

If it's actually exported, it will. But there are funny rules about
programs picking up exported variables, especially on Mac. I had to
explicitly set my GOPATH (and PATH) in my user
GoSublime.sublime-settings, like this:

{
"env": { "PATH":
"$HOME/src/code.google.com/p/go/bin:$HOME/bin:$PATH", "GOPATH":
"$HOME" },
"fmt_cmd": ["goimports"]
}


> what i mean is writing i.E.
>
> Import ("")
>
> Having the Cursor within the Quotes and then hit CTRL+SPACE to complete it
> to i.E. "MyApp/modells"

Use ⌘+period, ⌘+p (ctrl+period, ctrl+p) to open the import panel of
Sublime Text, which provides you an autocompleting import manager.

> And later on having
>
> user = new(modells.)
>
> and again hitting CTRL+SPACE here to get i.E. modells/User.go

This works for me. I guess the easiest way is to show you:

https://www.dropbox.com/sc/gy0qp1x39d9gr1z/AADxAD28aIEnEEk5t_dxtfkGa

I have autocomplete configured so that I don't need to hit ctrl-space
(obviously).


> This is something i appriciate when using Netbeans for other languages.
> Same happens when accessing the attributes of User, let's say:
>
> user.FirstName ="YouKnowWho"
>
>
> in sublime i have to write them once in a file to have sublime to complete
> it afterwards. I would prefer to have the IDE to know when i define a var of
> modells.User what attributes there are. Those things i am missing. If this
> is because of a wrong configuration the i would be pleased to know!
>
>
> Am Dienstag, 5. August 2014 15:07:25 UTC+2 schrieb Peter Bourgon:
>>
>> > - sublimetext2 :
>> > i love this editor very much and you get it for a lot of OSes with a
>> > very
>> > huge amount of plugins. Those for go work well, but completion for
>> > imported
>> > paths ( as Netbeans does for PHP) ist missing. Completion of external
>> > Types
>> > or Interfaces is not the best. But it works...it's ok!
>>
>> I suspect your GOPATH is misconfigured within Sublime Text. Immediate
>> detection of external packages and autocompletion of all types works
>> great for me.
>

James Bardin

unread,
Aug 5, 2014, 9:43:15 AM8/5/14
to golan...@googlegroups.com, wegmeyer...@googlemail.com, zhengk...@gmail.com, pe...@bourgon.org


On Tuesday, August 5, 2014 9:29:35 AM UTC-4, Karsten Wegmeyer wrote:
i thought sublime will take my $GOPATH i exported? Or do i have to change anything else?



How are you starting sublimetext? Unless you're starting it from the shell where you exported GOPATH, it's not going to have that in it's environment. ('m assuming like most users, you're starting from the taskbar, application shortcut, etc.)

Karsten Wegmeyer

unread,
Aug 5, 2014, 9:48:13 AM8/5/14
to golan...@googlegroups.com, wegmeyer...@googlemail.com, zhengk...@gmail.com, pe...@bourgon.org
well i did both! But you're right in most cases it's from the gnome3 dock! I set the Path within the User-Settings right now - having no effect up to now ( yes i restarted sublime). Setting looks like:

{
        "env": {"GOPATH": "/home/wegmeyerk/golang"}
}

 

Lars Seipel

unread,
Aug 5, 2014, 4:47:06 PM8/5/14
to Karsten Wegmeyer, golan...@googlegroups.com, zhengk...@gmail.com
On Tue, Aug 05, 2014 at 06:02:18AM -0700, Karsten Wegmeyer wrote:
> But as "best Environment" i would consider an IDE that helps me reducing
> bugs ( just as Eclipse or Netbeans do for Java and other languages) and
> develop even complex strucuters in a controlled manner. I tried by now:

There are many good tools helping you detect and prevent errors while
writing Go code. They might not be integrated in some GUI interface but
I consider that a good thing. That way everyone can integrate them
themselves into their specific favorite programming environment instead
of only being able to use those tools if also buying into everything
else those IDEs tend to come with. Everyone can use the same tools
without having to use the same interface to them.

Another perspective on that is that you can pick exactly those tools you
consider best instead of having to use those that got integrated with
the IDE.

Henrik Johansson

unread,
Aug 5, 2014, 5:34:18 PM8/5/14
to Lars Seipel, zhengk...@gmail.com, golang-nuts, Karsten Wegmeyer

I have a little script using inotify to monitor changes and upon a change it rebuilds and runs all the tests. If you write a lot of tests and especially if you tdd it becomes pretty sweet. I never feel the need for a debugger and printing works fine for edge cases where the tests fail.

Sublime is awesome with Gosublime and emacs is neat. One thing I sometimes miss is typesafe rename across files but I have not needed enough to dig into it.

Reply all
Reply to author
Forward
0 new messages