<p>I submitted a request to get early access to Gogland but haven't heard anything back yet in about a week. </p>
<p>.</p>
<p>Anyone know how long Jetbrains takes to grant access or if they have been accepting applications from people who are just using it personally, not in production or within an organization?</p>
<hr/>**评论:**<br/><br/>AKosterin: <pre><p>Jetbrains invited a small group of experts in the EAP. After gathering suggestions and comments they decide whom to invite and how much. While invitations are not sent out.</p></pre>dlsniper: <pre><p>They only announced it Thursday so it's not quite about a week yet. As for if you'll hear from them, it might be that they are overwhelmed with requests or they are trying to make sure they get a good sample of users, based on the questions they are asking. Have patience.</p></pre>hoffentlich: <pre><p>Who needs that java based memory hungry beast to code in Go? You don't need it, really.</p></pre>dlsniper: <pre><p>Turns out that this IDE is actually pretty fast and uses a lot less memory than others in the family. </p>
<p>As for who needs it? Judging by the reception it had I would venture to guess that many more programmers that you think. IDEs actually provide a wealth of functionality and one thing that you'll not find in other editors are all the refactoring options.</p>
<p>Most importantly it will help new programmers have an easier time to start and learn Go.</p>
<p>So who needs it? The Go ecosystem, current and future, needs it.</p></pre>hoffentlich: <pre><p>A lot of people think they need it because that's how they've been used to in the past or with other languages. I argue that a Go dev doesn't need it in reality, but if the dev feels this way, then by all means.</p></pre>dlsniper: <pre><p>Look, give it a try when it comes up and decide for yourself. But do it only if you can be open to the idea of seeing what it has to offer. If you start from the: IDEs are all bad, then don't.</p>
<p>And I'm happy to say that yes, some devs might not want or need IDEs, some devs do. Embrace diversity.</p></pre>hoffentlich: <pre><p>I can be open and most probably I will take a look at it. But I've tried Intellij IDEs in the past and haven't been compelled to use one, unless maybe for java. I didn't say IDEs are all bad, but while I can see how they can help someone be more productive in certain aspects, I also find them quite limiting in other aspects and feel they slow me down. Not necessarily in performance but in UI and interaction. I'm doing 99% of my work using just the keyboard, not only when coding (in which case is 100%) but in my interaction with the system (Linux, no DE, just Tiling Window Manager). An IDE makes me take my hand from the keyboard and put it on the mouse, which is a sin :). My flow is ninja level and I can't settle for anything less. So although curious to try Gogland, I don't think it will be on my liking.</p></pre>dlsniper: <pre><p>You'll be happy to know that:</p>
<ul>
<li>you can use the IDE w/o mouse, I'm not joking</li>
<li>I agree that for some, IDEs will be a limiting factor as they'll stop learning.</li>
</ul>
<p>But yes, if you have your workflow it's darn hard to get out of it because it's in your blood, it's your thing, it suits you the best.</p></pre>hoffentlich: <pre><p>No you really can :). I know nobody uses the mouse to click on menus and options for every action in an IDE. If you get used to their shortcuts then it becomes part of your workflow but it doesn't spare you of using the mouse, just in some cases. And IDEA has a vim plugin for vimers which is great, but often its defaults conflict with IDEA's shortcuts and you still can't use your keyboard for everything. Other people don't have any problem with this which is fine, use the best tool for you.</p></pre>neoasterisk: <pre><blockquote>
<p>but in my interaction with the system (Linux, no DE, just Tiling Window Manager)</p>
</blockquote>
<p>That's interesting. I've heard quite a few people using a similar setup. I've tried using a Tiling manager but I had problems with certain programs especially the browser. Could you share your setup? I will give it a try next weekend.</p></pre>hoffentlich: <pre><p>Tiling Window Managers are very popular among Arch Linux users but also for any Linux user who feels comfortable in the terminal and likes to script his / her system or doesn't care about flashy stuff or eye candy effects and just wants to work as efficiently and as fast as possible using mostly only his keyboard in a minimal environment. I'm using <a href="https://i3wm.org/" rel="nofollow">i3wm</a>. It has very good documentation and a human readable configuration format. It is as you might expect, very fast. It is written in C and its binary is just under 500 kb, but offers features that the next most popular TWMs after i3 (bspwm and herbstluftwm) don't offer e.g. stacked and tabbed windows which are incredibly useful. Each setup is unique to everybody, mine is not much special for anyone else, the difference is in key bindings and colors. As for the browser, a few years ago when I tried herbstluft I had some small problems with the browser window which I think have been fixed by now, but on i3 I never had any problems. And to be able to use the browser 90% only by keyboard still, I use the vimium extension for chrome without which I can't do anymore. If you're curious to try a TWM you have to be open minded because it may seem unintuitive at first especially if your idea of a working environment is something like GNOME or KDE. Once you get the hang of it and taste it, it's possible you'll never want to go back. Despite its apparent simplicity there's lots of customization you can do. Check out <a href="/r/UnixPorn" rel="nofollow">r/UnixPorn</a> for some ideas and inspiration.</p></pre>neoasterisk: <pre><p>Thank you very much for sharing. I am gonna try i3wm soon.</p>
<p>Personally, I love to work with the keyboard so I find that vim fits my programming needs very well. I had tried a TWM at some point and I thought it was fine but I kept having problems with the browser. I can't remember which one I had used though. Hopefully things will be smoother with i3wm.</p>
<p>Unfortunately, I do not know much about Arch Linux. I've been hearing a lot of hype but I find that I am a little past the point of experimentation with distros. Nowadays I want things to just work and I especially appreciate sane defaults. I remember one day installing Arch for fun though. It was certainly a cool experience that brought me back to my university days.</p>
<p>I also remember using the Vimium extension which I liked quite a lot. Though as I recall, I had trouble with certain tasks which always made me reaching for the mouse again and again. Maybe I needed some more discipline.</p>
<p>I am also a person that likes simplicity and minimalism. After doing some experimentation with tmux I realized that the simplest, alternative thing to do is opening a few tabs on my terminal which I can do with zero configuration on a freshly installed system. And as much as I love using the keyboard, for certain tasks you just cannot beat the mouse. So nowadays when I develop, I keep switching between two modes. 1) Keyboard mode aka writing Go on vim 2) Mouse mode aka using the browser.</p>
<p>Nevertheless, the main reason for not trying the TWM more is that my second screen broke down and I am stuck with just 1 screen which is kinda small too. I might be wrong but I find that a TWM is more or less pointless without a large screen. So I am planning to buy a big monitor for Xmas and thus I am definitely going to go back and experiment with a TWM. Hopefully this time I can stay mostly on just keyboard mode which is what I love. :) </p>
<p>Thanks again for sharing!</p></pre>hoffentlich: <pre><p>You don't need to use Arch Linux, that's just a preference. You can use whichever Linux distribution you feel most comfortable with.</p>
<p>There are a few more extensions like vimium for chrome and firefox, vimium being one of the simplest ones but does what you need without much configuration and customization, except maybe for changing a few keys here and there depending on your preference. And is also fast. I'd say just in the browser, 95% of the time I don't need to use the mouse. There are cases though when you have to put your hand on the mouse for a brief period of time due to vimium's limitations or better said chrome's api limitations that prevent vimium from doing more.</p>
<blockquote>
<p>After doing some experimentation with tmux I realized that the simplest, alternative thing to do is opening a few tabs on my terminal which I can do with zero configuration on a freshly installed system. And as much as I love using the keyboard, for certain tasks you just cannot beat the mouse.</p>
</blockquote>
<p>I slightly disagree with you, although it's not a matter of right or wrong. I use tmux as well and I'm pretty happy with it, but it offers a bit more than a simple terminal window. But putting this aside, consider the following. Using i3 and urxvt as the terminal of choice. Urxvt is also very configurable and offers more than the standard terminal that comes with your DE. On TWMs a urxvt window is generally opened simply by pressing alt+enter. You open one and then another one and they are next to each other. Then you need another one and before you open another one you decide if you want it left or right to either one of the two on the screen, or underneath either one of the two. Then you open another one and you decide the same thing and so on, but at some point your screen can become pretty crowded with windows left and right and their size is also shrinking, unless you set them to floating mode which you can. Ignoring the fact that we have workspaces and we can switch between them and open more windows positioned in any layout on each workspace, you now decide that some windows will become master windows and will host some other windows in a tabbed layout that you can switch between using only your keyboard. Some windows may be tabbed others stacked, you can move them around from one master to another put them in any order etc. So now you only have let's say two urxvt terminal windows with each one having other urxvt terminal windows tabbed or stacked. Any of its child windows can have other windows tabbed or stacked, or just split windows for that matter. The combination is limitless.</p>
<p>Now coming back to tmux, tmux allows you to have many shells open as you most probably know and also split the terminal windows inside tmux, vertically and horizontally. Tmux also allows you to manage clipboard just with the keyboard (if you're not doing that already with urxvt), also save sessions and layouts and many other things. It doesn't depend on your graphical environment, so you can work with it through ssh or with X11 completely shutdown and you can attach or reattach to the session from whatever terminal graphically or non-graphically. Offers sharing sessions between multiple users etc, and these are just some superficial stuff at the top of my head right now. For a linux sysadmin / devops / ninja it's indispensable just as "screen" was years ago for sysadmins before tmux was written. </p>
<blockquote>
<p>Nevertheless, the main reason for not trying the TWM more is that my second screen broke down and I am stuck with just 1 screen which is kinda small too. I might be wrong but I find that a TWM is more or less pointless without a large screen.</p>
</blockquote>
<p>That's where the stacked and tabbed features come in. They let you organize your windows nicely and save up space while also being able to access them quickly, especially true when using rofi with "-show window" which lists all your windows and let's you search through them by typing and select them with vim-like bindings if you so like (rofi is good stuff and is also very popular on TWMs). I've used i3 in the past on a 15.4 inch laptop display without any problems. Believe me when I say, 98% of the time (as a whole) I only use the keyboard without needing the mouse. Even in some of the cases you mentioned.</p></pre>neoasterisk: <pre><p>I've never heard of Urxvt. I was just using the default Ubuntu terminal, creating 3-4 tabs and alternating between them with alt-1 to alt-4 like say #1 for vim, #2 for starting and closing my server / program, #3 for git and running other commands and #4 for misc stuff.</p>
<p>That pretty much covers all my needs when it comes to writing code and commands plus I can handle those 3-4 tabs with just the keyboard. I've tried using Gvim once but as I couldn't find a way to run a terminal through it, I didn't see the advantage of using that vs vim in a terminal or vs a popular editor like atom, sublime or vscode.</p>
<p>That said, I'd also love to be able to run graphical programs, especially a browser and possibly a video player with just the keyboard so that makes a TWM very, very appealing to me.</p>
<blockquote>
<p>Tmux also allows you to manage clipboard just with the keyboard</p>
</blockquote>
<p>I didn't know that. I hadn't had a good use case to use sessions (plain terminal history is usually sufficient for me) but clipboard with just the keyboard does sound very appealing. So I might give Tmux another try.</p>
<p>Thank you very much for the detailed explanation. That's a big help. I've still got much to learn I guess. I am definitely gonna start with i3wm + vimium and work my way to revisiting tmux and possibly consider urxvt as a replacement for the default terminal.</p></pre>Shonucic: <pre><p>Memory is cheap</p></pre>dobegor: <pre><p>Memory is cheap for dev needs, but we do care about memory when running on scale.</p>
<p>Anyway, I prefer using a full-blown IDE then saving a gig or two of RAM on my machine. </p>
<p>Though I like coding in Vim, I really miss some features. Especially debugging. </p></pre>hoffentlich: <pre><p>We're talking about consumer systems, desktops and laptops not enterprise servers. Memory is cheap but it's not as cheap everywhere and not as cheap to everybody. Besides, just because you can buy memory doesn't mean you should use it needlessly and burn CPU cycles uselessly. The fact is intellij IDEs are slow and although I have a good pc that can handle it without any problems, I still want to feel my system and my tools are as fast as they can possible be. So I use GVim for coding and have been for years. I don't need anything else, especially for Go, which has great tooling that can be added to any code editor and offers you everything you need in terms of assistance.</p></pre>dlsniper: <pre><p>You can buy a pc with 16gb of ram for quite cheap these days. And if you look at it, Chrome consumes a lot more than IntelliJ. </p>
<p>I understand you like GVim but many other do not. And judging by the reception the announcement had, I'll venture to guess than many people don't have that problem.</p></pre>hoffentlich: <pre><p>And I understand many people don't like vim or understand why it's so powerful. I was not suggesting everybody use vim, but there are other good and more lightweight alternatives that can make use of the go tooling, Sublime, Atom, Visual Studio Code, whichever makes you feel great. All I said was, technically you don't need Gogland to code efficiently in Go. If you like it and makes you feel great using it, then go for it.</p></pre>dlsniper: <pre><p>Have you tried it yet? Do you know how it stacks against other in terms of performance?</p></pre>hoffentlich: <pre><p>I haven't tried it yet. I know it's part of the Intellij series and it's written in Java.</p></pre>Shonucic: <pre><p>The right tool is the one that gives you the greatest productivity, be it IntelliJ, vim, or writing code on slips of paper.</p>
<p>Only in limited cases are the resources on your dev machine not sufficient for development, and in those cases you use a different tool/method/machine to get the job done.</p></pre>vburenin: <pre><p>It is a very bold question. I do need it. Many people need it. I can count already over ~20 people who I see daily.</p></pre>Dat_Nig_Slim_Shady: <pre><p>I use pycharm on bigger projects because the code completion and refactoring tools are really useful. </p>
<p>.</p>
<p>For small projects and general fiddling, I just use vim. </p></pre>hoffentlich: <pre><p>I agree code completion and refactoring are very useful. I have those in vim as well. My gvim configuration offers me most of what an IDE offers.</p></pre>