aspose file tools*
The moose likes Jobs Discussion and the fly likes MySQL and PHP : valuable in resume ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "MySQL and PHP : valuable in resume ?" Watch "MySQL and PHP : valuable in resume ?" New topic
Author

MySQL and PHP : valuable in resume ?

Rahul Sudip Bose
Ranch Hand

Joined: Jan 21, 2011
Posts: 637

I was wondering if i should learn PHP and MySQL ? I had heard that MySQL is hardly used these days (please correct me if i am wrong). Would it be better to try oracle DB instead ?
Can anyone comment on the popularity and limitations of PHP ?



SCJP 6. Learning more now.
Joe Harry
Ranch Hand

Joined: Sep 26, 2006
Posts: 9618
    
    2

Since now MySQL belongs to Oracle, not sure what the future will hold for it.


SCJP 1.4, SCWCD 1.4 - Hints for you, Certified Scrum Master
Did a rm -R / to find out that I lost my entire Linux installation!
Rahul Sudip Bose
Ranch Hand

Joined: Jan 21, 2011
Posts: 637

Joe Harry wrote:Since now MySQL belongs to Oracle, not sure what the future will hold for it.


I am wondering what could they do with it ? They already have oracle DB. I am making a blind guess : "my-sql will become an affordable DB for small organizations and oracle will be the bigger ones " ???

PS :was MySQL offering serious competition to Oracle before it got owned ? Is this a case of big fish quickly eating the small one before it becomes a big and formidable adversary ?
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31057
    
232

What do you mean by "learn MySQL"? Learning SQL is a valuable skill. Administering MySQL is more niche. Writing stored procedures is a good skill - the concepts translate, but the language does vary by database.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Kr Manish
Ranch Hand

Joined: Jul 30, 2010
Posts: 138
Jeanne Boyarsky wrote:What do you mean by "learn MySQL"? Learning SQL is a valuable skill. Administering MySQL is more niche. Writing stored procedures is a good skill - the concepts translate, but the language does vary by database.

Exactly.
There are so many databases with differences in syntaxes, BUT skill acquired by writing sql queries & procedures are completely transferable. Learn one and you learn them all. ORACLE or Mysql specific syntax is not important, what is important is if you can write complex queries, know about indexes about query evaluation & optimization etc. You will find all that in most databases.


You know what I am saying ?
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1871
    
  16

Kr Manish wrote:ORACLE or Mysql specific syntax is not important, what is important is if you can write complex queries, know about indexes about query evaluation & optimization etc. You will find all that in most databases.


As an Oracle developer, I have to respectfully disagree with you to some extent. It's true that SQL is fairly standard across databases, and also that many projects have a deliberate policy of not "tying" themselves to any proprietary extensions of SQL or platform-specific tools such as Oracle's PL/SQL. And if you're just looking at vanilla database applications with not too humungous volumes of data then you'll probably be fine with a good understanding of SQL in many cases.

But then you are no different from the thousands of other Java developers who know a bit of SQL (maybe they did a course at college) and dip into it occasionally. But if you are serious about doing serious things with serious database applications, then you will also need to get serious about understanding the relevant specialist tools, and many of these tools are specific to particular DB platforms e.g. PL/SQL on Oracle (and PostgreSQL), analytical functions, spatial data processing on different RDBMS, and so on. Even at the vanilla level, there are differences in how different platforms implement particular functions, such as optimisation, so you still need to understand the specific features of your particular platform. Understanding and using the right tools for the job can make the difference between an impossible requirement and a successful implementation.

So learning a bit of MySQL will certainly help you to acquire a basic grounding in database application development. But it certainly doesn't make you a serious database application developer, just as my 1 year of J2EE and occasional ad hoc work with Java don't make me a serious enterprise Java developer (that's why I am fortunate to be able to learn so much from the good folks here at JavaRanch ). And as a developer of any kind, you also need to have some understanding and respect for the sophisticated tools and skills required beyond your own specialism, whatever that may be.

In case it's helpful, this thread also includes a fairly detailed discussion of the potential benefits of learning a DB like MySQL.


No more Blub for me, thank you, Vicar.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1871
    
  16

chris webster wrote:
In case it's helpful, this thread also includes a fairly detailed discussion of the potential benefits of learning a DB like MySQL.


Of course, that discussion was started by Rahul as well.

MySQL is still very widely used, but a lot of those installations are just running websites using free open source software, so they don't really offer much in the way of commercial career prospects for developers. Not sure about the prospects for the enterprise version of MySQL. I can't really see why Oracle would want to invest too much in continuing to develop a serious alternative to their own commercial databases, after all. So learning MySQL is useful as an introduction to databases, and as a free tool for exploring other open source products. But if you want to sell your shiny new database skills, you'll probably need to learn a commercial database fairly quickly instead.

As for PHP, it is very widely used, pretty easy to pick up, but is kind of clunky and does not really support structured coding practices, unlike some other scripting languages such as Python etc. Of course, you can write good code in any language, but PHP makes it a little too easy to write bad code as well!

PHP does support OO, but it's more of an extension to the language rather than a built-in characteristic of the language (as in Python, Groovy etc). And if you want to try building your own web applications with PHP, I can strongly recommend using the free open-source Zend Framework components (see this posting).

You need to ask yourself why you want to learn PHP. If you just want to learn a bit about developing web apps on the XAMP stack, then PHP/MySQL are a good combination to start with as they're easy to set up and there are lots of books etc on this combination. If you want to find out more about how common CMS frameworks work, then PHP is still a good choice as many of them are based on PHP (Mambo, Joomla, WordPress, Drupal, etc etc).

If you want to explore serious commercial web app development, then you might be better off looking at more robust and structured alternatives such as Ruby/Rails, Groovy/Grails etc. Or get really good at JavaScript which is used everywhere on the web.

If you are looking for a marketable skill, then it's kind of mixed: PHP is used all over the place so there is a lot of PHP work around, but it often tends to be used more for relatively small-scale systems and there are lots of people with low/medium skills in PHP, so PHP jobs may not pay particularly well compared to Java work for example.

And if you want a transferable skill, Python or Groovy might be a better choice, because you can use them in a lot of different contexts, whereas PHP is really restricted to the web server. Groovy is less commonly used but runs on the JVM so it allows you to take advantage of all the Java libraries, while Python is being used increasingly widely for all kinds of applications.

To give you a sense of the comparative marketability of various scripting languages, I just ran a dumb query for jobs with each of the following skills into the UK JobServe engine:

  • Groovy: 31 jobs
  • Ruby: 132 jobs
  • Python: 307 jobs
  • PHP: 632 jobs
  • JavaScript: 1569 jobs

  • Meanwhile, there are 2663 Java jobs and 641 MySQL (mostly DBA) jobs advertised currently.

    FWIW, my instinct right now would be to pick Python or JavaScript if you want to learn a marketable scripting language with good future prospects, and I can highly recommend the book Head First Python for anybody who wants to go down that route.

    But don't spend any more time agonising over the choice - just pick one and start learning it now!
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: MySQL and PHP : valuable in resume ?