Jump to content

Programming Language Cores & Frameworks


JonnoTheDev

Recommended Posts

This is a subject that came to the front of my mind from recent things I have been working on, and would like others' thoughts & opinions. Basically my thought is regarding learning a framework prior to the core of a language.

 

Hypothetically, using PHP as an example. If I was new to the language and was aware of the Zend Framework due to others talking about it, I could easily download and put it in a folder that my website can access. Now I want my website to display data from my database, so using the framework documentation I can see how to connect to my database, query it and display the data.

 

$query = $db->query('SELECT * FROM users WHERE username = ? AND password = ?', array('foo', 'bar'));

Now I want to validate some form fields so I read the documentation and I can use:

 

if($element->isValid($_POST['value'])) { }

 

Ok, so now I have studied the framework documentation, am familiar with the syntax and methods available for various tasks and use it in many of my projects. But, all the time using it I have never used any of the core functions within PHP. To me the frameworks' methods are the core. I have no idea what the code encapsulated within the frameworks' methods looks like or does.

 

Do people see this as an issue? Lets say I get a job where I cannot use the framework. How the hell do I query a database? how do I write form validation functions? I would have to learn PHP's core functions.

 

The above is hypothetical, however I recently (lets say the early part of the year) revived my usage of Javascript within projects. I always thought of JS as a hinderence to websites with the lack of a standard between browsers. Now, there are standards such as the DOM, etc which is much better for us developers. However, because of this, my knowledge of JS is now limited as many of the functions I once knew are now legacy. This lead me to adopt the jQuery framework for JS functionality as opposed to learning the standardised core functions. What is nagging at me is the fact that I can easily make something work with jQuery but only have a rough idea regarding the core functions in JS that are actually used in the jQuery method.

If I was without jQuery I would struggle to re-create the same functionality using the programming language core.

 

So, in essence do you believe that it is important for a developer to learn the core of a language prior to learning and using a framework?

Link to comment
Share on other sites

I believe that as a developer you should be aware of the inner workings of your favorite programming language. Someone who knows every function of PHP but can't tell you that the outcome for 'h' . 1 + 2 is 2 is not really that good as he'll miss most critical bugs.

 

As for the framework versus built-in, there isn't much a difference IMO as both can be considered a framework. Just like you learned the framework by reading documentation you'll be able to read the documentation for built-in functionality (the latter mostly has a lower learning curve). (I do realize there is an exception to JavaScript due to incompatibility)

 

So to answer your question, I do not believe that it is important for a developer to learn the core built-in functions prior to learning a framework this also makes a lot of sense IMO as most if not all developers Spam the PHP manual daily which indicates they aren't all that familiar with all the built-in functionality PHP has to offer.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.