I just wanna know which one you prefer, with honest opinion o; the use of open source or self written code? A detailed explanation is welcome.
This form of question is sure to draw a lot of opinions. What I provide here is simply mine.
If you love programming, you would be more drawn to write all your code from scratch and mostly by yourself. You will find the joy in creating. I remember when I just finished a webcam motion detector program in Java, as a project for my school. I tried writing the program myself, but all my algorithms were flawed in one of the other. Because time was running out on me I had to get the codes I needed online. I finished the program by adding my own modifications to the GUI and enabling saving images functionality, but in the end I didn’t feel too ecstatic. I felt much better when I had written a ludo game(from scratch) for both the desktop and then later for the mobile phone(as an entry in a samsung competition last November).
We all want money, but if you program for money alone I guess you might opt for using open source codes to get you particular project finished. With open source almost all creativity is taken away, but then again open source codes may help if the project you are working on is particularly large. I’ve been programming in Java for little over a year now, but this is the way I see this whole ‘open source’ thing.
Self-written, mainly because i was trained that way, but as Prometheus said, each have their advantages and disadvantages.
Where an good active open source project exists providing the full functionality you require I would question the point of writing your own code to do the same thing - why reinvent the wheel. Even in the case where you can’t find a project that meets 100% of your requirements, it’s still better to go open source and add your own stuff to the project so that it meets your requirements and you contribute back to the community.
I will say self-written is rated higher from my own opinion. Reason 1 is Flexibility; you can do whatever you want; anyway you want it.
@Prometheus - using or adding someone else code to ur code doesn’t make it open source; it a normal thing in programming world. a good instance is the use of jQuery. virtually most popular site use that framework unlike the use of an open source in a whole project with like tweaking, like theme manip* as so on. So thats no class as OpenS unless 80% of ur project was outsourced or copied i mean.
Reason 2 is Complexity; self written code is straight forward if written properly. I am a living testimony of this. Most MVC app I’ve seen have much complexity and the load time is always very crazy compare to what you can cook-up urself. When I wrote my first MVC(unknown to me that it’s MVC), it was a quick way of development as far as am concern and I didn’t learn it from any source; I just cooked a unique entry point which makes my coding faster. Later on I came across the word MVC and I thought it’s too complexity to understand as of that time, but to my surprise it’s just the same thing with what I have on board. I was so upset about the whole complexity just make things work…anyway
other reason coming soon…lol …after more/other comments.
@OLSylas You also have flexibility with open source as the source is available for you to modify as you wish. Also open source code does not have to be complex - though this depends on the authors. On the whole though most open source code that I’ve had to use has been well written and that should be one of your criteria when choosing an open source project.
I think JQuery is a prime example of a good open source library. If I wanted to write a web app today I would make use of JQuery or any of the other JS libraries out there rather than writing my own from scratch. Writing my own may be self-fulfilling but will it be better and what about the time I will need to create a well tested library of my own? Like I said before - why reinvent the wheel?
The market in Europe pays favorable for people who do bespoke development, as the bigger companies want their own products and can afford the expertise.
I think the hard and fast rule for me, is to do whatever I have control over.
I only use open source solutions when I understand its architecture, and have read a large chunk of the code base. This is to understand what is going on, and to optimize when need be.
But to a large extent, I prefer rapid development from scratch, using (lightweight) application frameworks. Writing something you thoroughly understand and have control over beats adopting existing solutions any day IMHO.