hello people daniweb....just want to ask honest oppinions from you guys, because this has been bugging me for years. I've been a PHP developer for 5 year using windows. So far so good. i am able to accomplish the task at hand. but there's always back of my head saying, that i suck because i had zero knowledge on Unix or Linux. Is that ok? or do i really need to learn the unix/linux system to be able to call myself good programmer?

Edited by vaultdweller123

2 Years
Discussion Span
Last Post by vaultdweller123

i suck because i had zero knowledge on Unix or Linux

No, that's silly. Will learning other operating systems help round you out as a developer? Sure. Does your "goodness" as a programmer depend on knowing *NIX platforms? Absolutely not.

Let me put it this way. I'm primarily a Windows developer, but I do know several Unix variants. In my work, that knowledge has benefitted me in only four areas:

  • Converting Linux-specific code to Windows (rare).
  • IT support/consulting where a Unix system is in place.
  • Navigating a Linux web server.
  • Recognizing file formatting differences between Windows and Unix (eg. newline representation).

In other words, the benefit has been largely minimal and I could easily have managed without any intimate knowledge of *NIX.


I normally develop PHP apps in windows environment using Uniserver as WAMP server. Before the app release, I would run my application to linux environment to make sure everything works.

Some basic differences between developing PHP application in Windows vs. Linux.

  1. in Linux, we can use nginx as the front server and use apache2 as the backend server, which is by far faster than letting apache2 do the job by itself.

  2. files and directories permission. We have more control in Linux.


As @deceptikon says, your ability isn't defined by not knowing Linux (in fact not a great deal different with PHP). And it certainly is not the end of the world if you've never used it before.

As a programmer, our job basically is translating. We are the ones who can communicate to computers, telling them what other people want them to do. Computing is such a vast and expansive industry, and every minute a new tool is released that will make your life ten times easier. For that reason (and the fact it always helps a CV), I think it's always useful to experiment with new technologies. It helps you become all rounded, and with different technologies come different techniques you might come across, which will help everything you already know.You might also find something you like loads more than what you're already using, something far simpler and far more powerful.

In a nutshell, there will NEVER be any harm in playing with something new. Linux specifically, I find it easier to develop with in certain languages, a nightmare with others - personal opinion. The only way you'll make an opionion is to go find out!

Edited by mattster


I'm not a pro, so my comments may not be totally on the money, but, all the work I've completed to date on nix is built around basic knowledge of file systems. I let my hosts sweat about the detail. Probably not a great way to go about things for large projects, but nonetheless, there you go. There are slight differences between PHP on Win and Unix but using a *nix server for testing has always helped to allay my fears or provide a workaround where required.

If you are going to be looking after a server yourself though, that may be a different matter. If you are going to work in an environment that uses Linux as an OS, again it would be daft not to have some experience of it. 2p.


I'd say it's always a good benefit to learn the *NIX filesystem, as you can program for it accordingly. But, it is not required. I'd say that if you're doing PHP, it's a great benefit, since most PHP installations are on Linux. It's really up to you. You can gain a tiny bit more $$$ if you know Linux/*NIX... but it is completely down to what you want out of programming and computers.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.