File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Linux / UNIX and the fly likes Do I need to relearn the technology whenever there's an upgrade? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "Do I need to relearn the technology whenever there Watch "Do I need to relearn the technology whenever there New topic
Author

Do I need to relearn the technology whenever there's an upgrade?

tangara goh
Ranch Hand

Joined: Dec 27, 2009
Posts: 125
Hi Experts here,

I am contemplating to take up Linux administration course. But, I'm quite worried that whenever there's an upgrade I need to re-learn the technology.

Also, can Linux administration helps me deepen my web technology skill?

Hope to hear the experts' views. Many thanks.



Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16250
    
  21

Linux is not a monolithic product. It's a kernel, OS add-ons, and tons of applications. Something's always changing. You usually don't have to "relearn the technology", since the core characteristics are now quite mature, but there's always new stuff to learn, and it's not wise to wait for an upgrade to learn it, or you'll end up having to figure out multiple changes all at once.


Customer surveys are for companies who didn't pay proper attention to begin with.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8971
    
    9

tangara goh wrote: But, I'm quite worried that whenever there's an upgrade I need to re-learn the technology.


Not any more than when Microsoft updates their OS (in addition to what Tim says).

tangara goh wrote:
Also, can Linux administration helps me deepen my web technology skill?


Linux (and other Unix variants like HP and Solaris) are far more common on the server side than on the desktop, so if you plan on working with web technology, chances are you'll run into a Unix server at some point. That said, Linux administration and web technology are two different skill sets. It will be good to have both, but having one will not necessarily inform the other.


[How To Ask Questions On JavaRanch]
tangara goh
Ranch Hand

Joined: Dec 27, 2009
Posts: 125
Tim Holloway wrote:Linux is not a monolithic product. It's a kernel, OS add-ons, and tons of applications. Something's always changing. You usually don't have to "relearn the technology", since the core characteristics are now quite mature, but there's always new stuff to learn, and it's not wise to wait for an upgrade to learn it, or you'll end up having to figure out multiple changes all at once.


I'm learning this out of curiosity and also hope that it's a useful skill to acquire. My chances of actually using it is like very slim because I am not in a IT job. So, would I lost my skills as time pass by?



tangara goh
Ranch Hand

Joined: Dec 27, 2009
Posts: 125


Linux (and other Unix variants like HP and Solaris) are far more common on the server side than on the desktop, so if you plan on working with web technology, chances are you'll run into a Unix server at some point. That said, Linux administration and web technology are two different skill sets. It will be good to have both, but having one will not necessarily inform the other.


Why would I run into Unix server? Is it because of intranet ? And I thought the web hosting companies would be taking care of the servers anyway. Am quite new in this field so hope to hear your expert's view. Thanks again.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8971
    
    9

When I hear someone wants to develop "web technology skill", I assume that they want to develop web applications or web sites. That's why I mention servers. If your goal is not to do development work, what do you want to do with "web technology"?
tangara goh
Ranch Hand

Joined: Dec 27, 2009
Posts: 125
Joe Ess wrote:When I hear someone wants to develop "web technology skill", I assume that they want to develop web applications or web sites. That's why I mention servers. If your goal is not to do development work, what do you want to do with "web technology"?


Yes. Indeed I want to 'develop website'.
And so how is the servers linked to the web development? As far as I know, the IDE comes with "servers".

Hope to hear from you soon. Thanks.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8971
    
    9

tangara goh wrote:
Yes. Indeed I want to 'develop website'.
And so how is the servers linked to the web development? As far as I know, the IDE comes with "servers".


At the very least, you'll need to interact with the server in order to deploy your application. Non-trivial applications may involve processes other than the web server running on the server machine. For example, several of my web applications send out reminder emails to users who need to take action. These emails are sent by a cron job, cron being a scheduler in Unix-like systems.
While one can use an IDE with an embedded server, I prefer to run a stand-alone server on my development system. The main reason is so that I can replicate the same build and deploy cycle on my development machine as I have on the server (we use Ant to do builds). This way I'm not debugging the little differences between my IDE and production environment when I try to build the production system.
tangara goh
Ranch Hand

Joined: Dec 27, 2009
Posts: 125


At the very least, you'll need to interact with the server in order to deploy your application. Non-trivial applications may involve processes other than the web server running on the server machine. For example, several of my web applications send out reminder emails to users who need to take action. These emails are sent by a cron job, cron being a scheduler in Unix-like systems.
While one can use an IDE with an embedded server, I prefer to run a stand-alone server on my development system. The main reason is so that I can replicate the same build and deploy cycle on my development machine as I have on the server (we use Ant to do builds). This way I'm not debugging the little differences between my IDE and production environment when I try to build the production system.


You are showing me that is something I never know. Thanks.

Now, is it common for web developer to test out the site using a Unix-like systems? So, does learning Linux helps in my case? And do you mind share with me how did you develop the emails reminder using "Java" ? This is so interesting. Did you use hibernate or Strut?

OK. Hope to hear from you again.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8971
    
    9

tangara goh wrote:Now, is it common for web developer to test out the site using a Unix-like systems?


Probably not. We do most of our testing with Windows, which accounts for 95% of our audience. If one is using Linux, one is probably using Firefox for a web browser and it behaves for the most part like Firefox on Windows. We do specifically test for Safari on OS X (which is Unix-based as well) as Safari has some particular quirks.


tangara goh wrote:And do you mind share with me how did you develop the emails reminder using "Java" ?


For the most part, it is JDBC and JavaMail.

tangara goh wrote:
Did you use hibernate or Strut?


Struts is used to build the front-end of a web applications. As I indicated before, this particular functionality is a back-end server process, so Struts would not make sense. Hibernate would make sense for interacting with the database, but we did not use it in this instance.
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16250
    
  21

The Eclipse IDE does not come with any web servers (J2EE or otherwise). You have to provide your own server software. Eclipse is just the IDE.

Java is "write once, run anywhere", especially for web apps, so I spent a number of years coding and testing on Windows machines for webapps which ran in production on Solaris and Linux. These days, I may do the opposite. Some of those apps used both Struts and HIbernate, although these days I use JSF and JPA (usually Hibernate JPA) instead.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Do I need to relearn the technology whenever there's an upgrade?