Software development · Web Development

What is your development setup (software)?

ivan ner HR Manager at VR

October 10th, 2016

Could you please share your software development environment for smartphone apps, desktop apps, web development etc? I know that this is a broad subject but it will be helpful for a lot of us who are getting into software development.

Silverio Diquigiovanni Embedded Software Architect

October 10th, 2016

For smartphone apps I'm used with IntelliJ Idea Community version that is very close for Android development like Android Studio but I use it also to develop my pure Java applications for Desktop (with JavaFX framwork is neccessary a user UI). For Desktop development I'm used with Delphi (Object pascal) more than Java, MVS or others. Delphi object pascal is very productive in terms of time and code lines to write. Recenltry I've tried new Delphin Berlin which permit to create portable applications for Mac OS X, IOS, Android and Windows. Actually is not to simple to get 100% running app at first RUN but is a good development environment. 2016-10-10 11:08 GMT+02:00 ivan ner :

Lance Mayfield Past client's have included Chalice Recording Studio, HP, Nike, (patented technology)Care Track, Gym Genius, Dudatez, and many other apps.

October 10th, 2016

ios apps - X-CODE SWIFT
Android - android studio JAVA
Windows Visual Studio C#
WEB DEV - WEB MATRIX\SUBLIME

Tim Boudreau Consulting Product Manager / Software Engineer at Oracle Labs

October 10th, 2016

IDE - NetBeans
Version Control - Git
Build system - Maven

I'd say the most important thing - and one of the things you don't realize is a problem until you have it - is making your build setup repeatable and portable.  In other words, if other people will work with your code (and if it is successful, they will), or even you may need to go back to it years later, you need to standardize the way you set up projects - build tools like Maven are great for that - and do it in a way that will work whether or not someone has a particular IDE or other tool.  Ideally it should be possible to build it on the command line using no more commands than "git clone" and "maven install" and result in exactly the same bits.  That's also important because, if you're working on a team (or even by yourself), you'll want automated tools such as Jenkins that can clone your git repository and build and test the software and let you know if tests fail.  This is one of the things that differentiates professional and hobbyist developers.

Source control - I mentioned Git, but Mercurial is fine as well (CVS and Subversion are not) - is also hugely important.  Use it for everything - it's your permanent "undo buffer" and will let you not just never accidentally lose code you worked on, but also track your own productivity and much more.  GitHub is great, but if you want to keep code private, Gitolite makes setting up a private Git server pretty trivial.

The other thing I'd suggest is, learn at least one Unix-ish OS - Linux, Mac OS or something else and get reasonably comfortable in a text shell.  If anything you write is deployed server-side, it will almost surely be running on such an OS - if you are capable in that kind of environment, it will greatly increase your value.

Hernán Durand Institute of Veterinary Genetics (IGEVET) - CONICET

October 10th, 2016

For desktop and web application I use Smalltalk, currently the Open Source Pharo Smalltalk, which is well-supported by a growing professional community.

Pharo contains libraries for source-code control (GitHub, SmalltalkHub, etc), dynamic web frameworks (like Seaside + Magritte for scaffolding), probably the best re-engineering framework of the world (Moose), UI specification library (Spec), visualization (Roassal), parser which supports ambiguous grammars, memoization (for speed) and left recursion (PetitParser), Geographic Information Retrieval (Territorial), FFI, Science (Numerical Methods, BioSmalltalk), etc. The speed issues were resolved long time ago, and with MIT licensed Pharo there is a whole ecosystem worth to try it.

Smalltalk is the reference technology for Object-Orientation, Unit Testing, TDD, Reflection, Refactoring Browser, Generational Garbage Collection, and other artifacts (yes, all those things were created in Smalltalk) adopted by other camps. Today there are other FOSS Smalltalk flavors like Amber which compiles to JavaScript AMD, GemStone/S (active OODB), and Dolphin 7 for native Windows UI's.