I've noticed many questions on here from new programmers that can be solved using libraries. When a library is suggested, often times they respond "I don't want to use X library" Is it the learning curve? or ? Just curious!
I've noticed many questions on here from new programmers that can be solved using libraries. When a library is suggested, often times they respond "I don't want to use X library" Is it the learning curve? or ? Just curious!
Well, the newbie's purpose might be more solving the problem than implementing a solution. Perhaps what they really want to do is figure out how to solve the problem. I mean, if they're still heavily in the learning phase, it's quite possible they don't want easy answers handed to them.
Using a library requires you to understand the relatively complex design of the library, something that new programmers might not have mastered because all they've ever written is simple/procedural/single-purpose code. For example, to an experienced programmer standard design patterns like template method, observer and command seem pretty obvious, but to a newbie it all just seems like magic and/or unnecessary complexity. For me the turning point was when I got good enough to grok design patterns and write some basic reusable code.
It's been a long time now, but when I came out of college, I knew nothing of libraries. This was in the days of mainframes and mini-computers. Our college had a VAX and the managers were paranoid about students hacking the system, so didn't allow us to even see the library manuals. So, when I first came out of college, I didn't even think of libraries being available.
I am sure there are a lot of reasons why the newbie doesn't want to use the new library. But wouldn't this be a good opportunity, if you have enough time, to show them what the advantage of using the library is? With the people I work with, I will usually provide an example of why something is better than their approach. It helps them learn and mature as a programmer.
Happens that noobs use Libs without knowing, but when they must import/add one that is fairly less documented, there is a fear of unknow. That happens mostly for compiled langs!
In the interpreted, (or compiled IRT), mainly when there is a console, such fear is almost non-existent; since you can require and see if it fails, call a method and see what it returns.
Consoles are tools of bravery !
I consider myself a mid-level programmer, mostly self-taught, almost exclusively working on my own. I've started to use libraries, but fairly recently.
A major barrier to this was a lack of understanding of different design patterns - or even of the concept. I would determine an approach to solving the problem my own way, starting coding along the way. If I did look at a library, I would often think "Hey, that looks handy, but it won't fit my design."
It took a fair bit of reading and experience trying to apply new ideas to realize two things:
Believe it or not, when I was doing college I'd made my own libraries in C++. Yea that is right. I'd made this myself. It had include many different types that DOS C++ did not support or it was supported by some third party Header files.
Why I did?
The same question was asked by my teacher and I'd to tell him that look I want to know the basic, I want to learn the basic, I want to build my ground. If I use someone else code I will not be able to understand the thing going on.. the cycle the love the geeky. I cannot be geeky when I like to type my key board faster or If I don't want to sit for 12 hrs our mores.
He was quite impressed and I was impressed too. I know things by doing it. That was the beginning of when I started writing of my own.
What I do now?
Well libraries are good. We must used it. However, one must not compare and try to use from the school age. They are good for business but probably not good for individual!
How would you define that if you don't know the basic of HTML and you can manipulate Html tags without some editor?
So I suppose Library should be used for learners, and I will count junior program, less than 1-2 years to re face their through libraries and see the magic.