Win a copy of Head First Go this week in the Go forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Paul Clapham
  • Jeanne Boyarsky
Sheriffs:
  • Devaka Cooray
  • Junilu Lacar
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Tim Holloway
  • Claude Moore
  • Stephan van Hulst
Bartenders:
  • Winston Gutkowski
  • Carey Brown
  • Frits Walraven

What is the reason developers want to learn Linux ?  RSS feed

 
Ranch Hand
Posts: 484
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have come across full stack development course with Udacity etc whereby configuring linux web server is part of the course.

However, I do not understand why would developer wants to learn linux since they just hand over the web app to the web hosting company.

As I don't have the chance to work in this industry, I hope someone can tell me why.

Tks.
 
Saloon Keeper
Posts: 20511
115
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Because Linux isn't just for administration.

Like Windows, Linux was designed to host users. In fact, unlike Windows, Linux was designed to host multiple users. And if you don't know the Windows OS, and you don't know any other OS, you probably won't be able to get a job anywhere.

If all you know is Java and know nothing of the environment that the JVM is running in, you'd never make it past Junior Programmer in my book. Real-world systems are more than just Java. In fact, it has been my practice to make even my Java projects installable by the OS package installer, because frequently there is context external to the webapp that's important to the webapp.

In addition to being able to move around freely in the OS environment, there's a wealth of performance monitoring and tuning tools you should have at least some familiarity with. If you don't know provisioning, you're not going to get far moving up to the devops level. You'll be ill-prepared to examine files and do post-mortems. You will, in effect, be useless.

This is an age when people are expected to perform the functions of art director, database administrator, network administrator, software architect, coder, and tester, work 120 hours and be paid no more than 37 rupees a week. Anyone whose abilities lie strictly in Java is not going to get far.

As far as that goes, even in the more laid-back days where COBOL was the in thing, you were expected to also know Job Control Language, Linkage Editor statements, core dump analysis and the IBM system utilities - plus probably SyncSort.
 
Saloon Keeper
Posts: 1113
36
IBM DB2 Java Netbeans IDE Spring
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Personally I develop on Windows and deploy on Linux. While developing on Windows is more an habit that an actual need , deployment on a Linux machine is mine #1 best practice. At least for me. Why ? Because most of times Linux makes the deployment stage - and monitoring also -simpler.
 
tangara goh
Ranch Hand
Posts: 484
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Claude Moore wrote:Personally I develop on Windows and deploy on Linux. While developing on Windows is more an habit that an actual need , deployment on a Linux machine is mine #1 best practice. At least for me. Why ? Because most of times Linux makes the deployment stage - and monitoring also -simpler.



Tks for sharing.

May I know do I partition my harddisk on my Windows OS so that I can use Linux every time instead of first having to use Windows system before switching to Linux ?

I would appreciate it if you could point me to some beginner tutorial so that I can use Linux on my machine without logging into Windows 10 administrator command prompt.

 
Claude Moore
Saloon Keeper
Posts: 1113
36
IBM DB2 Java Netbeans IDE Spring
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

tangara goh wrote:
May I know do I partition my harddisk on my Windows OS so that I can use Linux every time instead of first having to use Windows system before switching to Linux ?
I would appreciate it if you could point me to some beginner tutorial so that I can use Linux on my machine without logging into Windows 10 administrator command prompt.



If you're moving your very first steps, I would avoid starting with dual boot. It's not difficult to setup, but for an absolute beginner I'd suggest to start with Ubuntu. Besides the fact Ubuntu is a great distro, widely adopted, you can run it along side with Windows as if it were a normal application.
Have a look at their website for further information.
 
Marshal
Posts: 63489
207
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Claude is right. Burn Ubuntu onto a USB stick. Or even, install Ubuntu onto a large USB stick and partition it like this:-

500 MB | up to 40GB | remainder | double size of RAM
  /boot   |      /             |     /home   | swap

Repeat without coloured text:-

500 MB | up to 40GB | remainder | double size of RAM
  /boot   |        /           |     /home   |  swap

You want at least four partitions called / /home /boot and swap; you may also need a /boot/efi partition (about 256MB). I am not sure what the minimum size for the / partition is. Encrypt the /home partition with a good password. You don't need such a large swap partition for normal running, but I think you can only enable hibernation with 2×RAM capacity. You can reinstall Linux onto such a USB stick but you should retain the /home partition unchanged and not reformat it.
Plug the USB stick into any computer and boot the stick and you have a computer you can carry in your pocket.
 
Tim Holloway
Saloon Keeper
Posts: 20511
115
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think you can safely make the "/" partition 10G. My own root is closer to 50G, but this is my primary development system, so it has tons of appllications plus Docker containers and VM images, which can easily eat a lot of space.

It's common (and useful) for Linux to setup /home in its own partition.

Speaking of VM images, as far as I'm aware, there are no problems in simply running Linux in a Windows VM. For almost all purposes, that will be identical to stand-alone operation and it will run a lot faster than it would off a USB stick.
 
Master Rancher
Posts: 1162
18
Firefox Browser Hibernate IntelliJ IDE Java MySQL Database Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Claude Moore wrote:Personally I develop on Windows and deploy on Linux. While developing on Windows is more an habit that an actual need , deployment on a Linux machine is mine #1 best practice. At least for me. Why ? Because most of times Linux makes the deployment stage - and monitoring also -simpler.


This is already a pretty old post, but I still wanted to comment on this remark of claude, one of the main reasson to deploy on a linux and not on a windows is cause linux dosn't have the need to update all the time and is robuster, wich results in less downtime
 
Campbell Ritchie
Marshal
Posts: 63489
207
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tim Holloway wrote:. . . it will run a lot faster than it would off a USB stick.

Sorry for delay in replying, but that reminds me of the time I tried that and my computer ran with all the élan and athleticism of a dying snail.
 
Ranch Hand
Posts: 277
2
Fedora Netbeans IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can use linux for free. Also windows is lame :P  (POSTING FROM MY WINDOWS COMP       )
 
Tim Holloway
Saloon Keeper
Posts: 20511
115
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Daniel Demesmaecker wrote:one of the main reasson to deploy on a linux and not on a windows is cause linux dosn't have the need to update all the time and is robuster, wich results in less downtime



All right now. If anyone should be bashing Windows, it should be me. I mean I only use Windows at Tax Time these days (curse you, Intuit!)

Windows these days is pretty reliable and for that matter, a lot more secure than it used to be. And I rarely go a day when new updates for my Linux system don't come in. I get a new kernel on average about once a week. Microsoft is supposed to release updates only once a month.

The major difference is thanks to the differences in filesystem locking, I can apply these updates while working, because the Linux update process doesn't take over, reboot, and refuse to let you log in until it's done. I do have to reboot once a new kernel version has been installed; although some work was done where even kernels could be updated on the fly, it never went mainstream.

And, of course, when I do reboot, I don't have to suffer crippled performance for 30+ minutes afterwards while virus scanning takes over the machine.

No, Windows isn't "lame". And most people don't "pay" for Windows anyway - it comes with their new computers. However Linux comes with tons of free applications, a basically one-stop shopping point to install many of them, and neither the OS nor the applications are prone to "phone home" to their masters and tell them all about you.
 
lowercase baba
Posts: 12726
51
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
why would someone resist learning Linux?  why resist learning anything? I want to learn as much as i can about as much as I can.  No, I will never be an expert on anything - or even most things.  But the broader my knowledge of things, the more connections I can make, and the better positioned I am to come up with the best (well...at least a better) solution.
 
Daniel Demesmaecker
Master Rancher
Posts: 1162
18
Firefox Browser Hibernate IntelliJ IDE Java MySQL Database Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

fred rosenberger wrote:why would someone resist learning Linux?  why resist learning anything? I want to learn as much as i can about as much as I can.  No, I will never be an expert on anything - or even most things.  But the broader my knowledge of things, the more connections I can make, and the better positioned I am to come up with the best (well...at least a better) solution.


I agree with the first part of your statement, being everyone should stribe to keep learning and broading their knowledge, but I do feel like in a lot of cases it's better to be a specialist on some stuff, then know a little about everything. One of my teachers always said, shoenmaker blijf bij uw leest, which meens stick to what you know.
It was actually in a business context, she ment that you should stick to your core business and outsource the rest, but the same could be applied to it, aren't you better with a team where everyone has a or some specialisations and you can count on someone else when you don't know the answer, then a team where everyone knows a little about everything, but no one has the/enough knowledge to bring the project to a good end.
 
Campbell Ritchie
Marshal
Posts: 63489
207
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Even if you are going to outsource work, if there are people who know something about the task in question, you are more likely to be able to get a good deal and find the requisite expertise.
 
Tim Holloway
Saloon Keeper
Posts: 20511
115
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Outsourcing is a great idea - as long as you do not overdo it. A great many companies over the past few decades have outsourced so much that all it takes is for an outsourcer to fail to take them down in turn.

And you definitely don't want only one person with in-depth knowledge. That makes them indispensable. Another common business failing is deciding that if "their employees are their greatest assets" that they can "liquidate" some assets. They then lose critical capabilities.

In fact, it's one of the ways I've had my revenge on ex-employers. When I do my job well, I look like I'm doing nothing. And so they let me go as part of one of their periodic liquidations mandated by the bean-counters (I rarely get laid off all by myself). Then they find out that all those finely-tuned automated systems need occasional maintenance.

Beyond that, a great many companies run Windows in-house, but their production servers run Linux or some other Unix-like system (Solaris was the OS for production apps in one former employer). It's the production servers that pull in the revenue. Do you want to be ignorant when a critical server needs immediate assistance?
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!