Netbeans is a great IDE

For some reason over the years people have moved more and more to editors like Sublime Text, Atom, and even PHP Storm.  One thing I think is strange is we already have great IDEs specifically made for programming and yet people want to use other editors.  No doubt about it Sublime Text is light and fast, but on my system I have no issues starting up Netbeans and using it all day.  It rarely crashes and has far less external dependencies that can be quite cumbersome to deal with at times.  First off I am one of those ethical people that tend to lean on the open source side.  I don’t mind using closed software at times, but I definitely have different drives that run my closed software and another drive that runs my open stuff.  I usually use my open drive 99% of the time and then occasional use Windows when needed.  So with this in mind I don’t really like to use Sublime Text for that reason.  I didn’t rule it out as a possibility though.  I wanted to use it so I went to the forum and asked the community/developers if a external security audit had been done and asked about their collection and privacy options.  One thing that I find closed source software tends to do is collect data on the user and offer the option to turn these functionality off, but not advertise the feature.  Here is a link to my question – http://www.sublimetext.com/forum/viewtopic.php?f=2&t=14927 

Unfortunately they didn’t say anything I wanted to hear so I ruled it out as an option.  The next thing I tried was the Atom editor.  It is open source and created by the people that made Git Hub at least partially along with Chromium/Electron.  It was pretty fast for being written in HTML/JS partially and has a lot of options for packages.  One thing I ran into when using it was I constantly ran into issues with these packages.  More often then not one would always stop me in my tracks while working.  I would wake up in the morning start Atom up and bam an update would download.  This was fine I always want the latest fixes and features, but this always causes problems with my packages.   I either need to disable the package and fine something else that is similar and set that up.  I would then go back and forth between disabling one and enabling another all while making sure configurations still worked.  Eventually I just got tired of it.  I posted a few times telling them some features just need to be included into the editor.  They claim it is just an editor so that eliminates the requirement for them to maintain additional features, but lets be honest.  It is a editor meant for programmers.   So here is the crux of the issue. 

PHP Storm on the other hand is reportedly great, but has a lot of quirks I find strange when comparing them to real IDEs.  First why would anyone use PHPStorm over Netbeans which has had the same features as PHP Storm for at least 5 years before it was even developed.  It makes me wonder are developers so accustom to fast past movement they become silly hipsters that are always looking for the next trend rather then just using what works.  This can really be bad for new developers and always makes strange camps that get very religious about things.  PHP Storm is a good option, but again not open and no security audit.

All these editors that market themselves as light and speedy don’t really help programmers in several ways.

  1. When you can’t trust it.  Either closed source, or no actual external security audit.
  2. Off loads required features to third parties and scripters.
  3. Breaks their own packages with updates.
  4. Many packages that have little performance tuning when paired with other features.
  5. Very little interoperability between packages.
  6. Time wasted trying to maintain packages people maintain that are free as in beer so you have no assurance it will be maintained in the long run.

Just to bring this up in closing here.  PHP Storm also has a older brother that is open and more mature.  We could even throw Eclipse into the mix all of which are written for the most part in Java so it isn’t like you have speed improvements by using something else.  I would love to have some better options if they exist, but in my experience Netbeans just does all the things I want and does them simply.  It is integrated and is open.  They support my development on the mainline so I know the features are top priority and they aren’t going to change.  I can rely on the very simply functionality I require as a web and desktop developer and it is open and free enough mature and slow moving add-ons can be added without much fuss.

Just to leave a little wiggle room here I would say some instances may exist where you need to be super close to the edge and need some fast prototyping editor, but for steady stable development it is to much a hassle and a worry for me.

I personally think Atom is a great editor and could be something to use in the future, but it is going to need at least another year before it is reliable enough for me to use it on a daily basis.  For now I will have to stick to Netbeans.  I know how people feel about Oracle, but so far MySQL Workbench has been improving over the years and so has Netbeans.  Anyway just felt like writing.  Hope some one finds this useful.

Getting Introduced to Laravel

laravel-logoA great framework I have been recently moving into has proven a great resource. If you aren’t familiar with Laravel I highly recommend it.

It focuses on developers instead of the usual CMS system which is business oriented. I have been programming in PHP for over 15 years now and sometimes you get so stuck in your ways you stop learning new systems. I don’t know if any other programmers have ran into this, but it was definitely one of my sticking points.

The web development sphere moves very quickly and by far I am always impressed at finding a newer and better way of doing something. I started out using things like PHP-Nuke, and then Joomla and even wordpress. All great systems in their own right, but they focus on plug and play modules that if you ever want to go outside of that scope it becomes a nightmare; At least to me I guess.

Laravel seems to cater only to developers rather then the novice that just wants to make a website and not customize anything. Not that this is a bad thing, but I find lots of my clients always wanting to tweak things, or even the time it takes to learn a new system is daunting when people just want to do their job and move on with their lives. Designing custom systems with a Laravel backend so far has proven very fast. I was able to produce several very high quality, clean, and secure websites in just a month or 3 depending on complexity. Often times you can even reuse parts of that code base which makes clients happy and me. I have code that is tested by multiple sites and I can tweak it myself. The packages that are included are all managed with Composer and GitHub so it makes it very easy to create your own, share, or even contact another developer and get some help with their creation.

It is a cool eco-system to jump into and I’d love to hear of others experience with Laravel. You can learn more by reading the documentation – http://laravel.com/docs/5.1 or even watching some of the videos on YouTube.