Blog post "Some Data from the 2017 RAD Studio Developers Survey" at http://blog.marcocantu.com/blog/2017-july-developersurvey.html

Blog post "Some Data from the 2017 RAD Studio Developers Survey" at http://blog.marcocantu.com/blog/2017-july-developersurvey.html
http://blog.marcocantu.com/blog/2017-july-developersurvey.html

Comments

  1. Around 30% are not using a version control system? I don't want to believe that :-O

    ReplyDelete
  2. Me neither. It is a few % points lower than in past surveys... so getting slowly better

    ReplyDelete
  3. "even for a single developer on simple projects, not using a version control system is hard to justify these days"
    Can you put that in red flashing capital bold letters? And since it is 2017 add some unicorns, but damn this is frightening!

    ReplyDelete
  4. Around 30% of the participants disqualify for taking any of their opinions seriously tbh ...

    ReplyDelete
  5. Michael Thuma But why? I guess it's pretty hard to find out which change introduced a bug or to roll back specific changes without rolling back everything else.
    To all those 30%: Do yourself a favor and learn how to use git or svn properly. Reasons can be found here: stackoverflow.com - Why should I use version control?

    ReplyDelete
  6. Christopher Wosinski I guess it is as usual: People stick to the way they are doing things because they simply know how to do them by heart. Getting used to new stuff always needs some effort to invest. Sometimes they need a kick in the back to get out of their comfort zone. I actually count myself into this group, too - not regarding version control, of course.

    ReplyDelete
  7. I'd like to improve SC integration in the IDE, and that includes ways to promote / encourage people to use it. I think everyone should sue source control, no matter how small the project.

    Thoughts on how to promote this / improve this in the IDE are welcome...

    ReplyDelete
  8. David Millington "everyone should sue source control"

    That typo made my day ;)

    ReplyDelete
  9. I live on the edge; I don't use version control most of the time. Sometimes yes, sometimes ZIP files, every once in awhile the history feature, most of the time nothing. With web projects I use a mirror. If it was automatic in the IDE then I would probably use it most of the time (input one URL into the IDE once and all projects go into it automatically like how the history feature works). Maybe there is a box when creating a new project that lets you opt that project out of version control.

    ReplyDelete
  10. Michael Thuma The revisioning done by the ide (aka __history folder) is unusable for any VCS as it triggers every time you save a file. I don't want commits in my VCS every time I hit Ctrl+S. I clean these folders on a regular basis as these information does not provide any value for me. A file history from the VCS including the information what else got changed in that context does.

    Commits also usually contain multiple files, can be modified (especially when using git with things like amend or other useful features).

    ReplyDelete
  11. That synchronization point in time is called commit ;) AFAIK the history tab in the IDE is able to show the CVS history additionally to the _history one.

    I think the VersionInsight interface has almost all the features required.
    While using Delphi XE I liked Uwe Schusters VersionInsightPlus plugin because it also added some eye candy like overlay icons to the project manager which made it very easy to see if there were any changed files without actually going somewhere else.

    But even with common actions like commit, push, pull into the IDE I rather use a tool like SourceTree because it has a better scope on things.

    ReplyDelete
  12. 25% not making any money and 30% not using version control, sounds like that could be related ?

    ReplyDelete
  13. Michael Thuma you can run git as a local instance only right in your project directory and get full support for diff, commit, rollback, local branching, stash, etc without ever taking to a server . It just makes a .git folder in your project. If nothing else it let's you experiment with code in different local branches that you can then merge into master or throw away

    ReplyDelete
  14. Michael Thuma with git you can tag a version release, then compare tags or checkout a tag

    ReplyDelete
  15. Embarcadero walk as a turtle, they collect more money from developers and every year they give some minor improvements that already existed in other companies like PC SOFT who have a powerful IDE with rich library, in 2017 we can not send sms and access batterie functions with RAD Studio!!

    ReplyDelete
  16. Kerbadou Ghazali Your comparison of WinDev with RAD Studio made me chuckle and caused me looking through the what's new brochure of WinDev 22. Granted their marketing material is high glamour (some people might be attracted by that) and it seems like they include quite some nice controls out of the box that you need to buy from 3rd party vendors for Delphi - like DevExpress, TMS or Gnostice.

    But in other areas they seem to be way behind:

    "OOP: CALLING ANOTHER SYNTAX OF A CONSTRUCTOR
    A constructor can have several syntaxes.
    For example, a constructor can have a syntax with no parameters
    and a syntax with parameters.
    In version 22 it is possible to call a constructor’s syntax from another
    syntax."

    Are you telling me that it took them 22 versions to introduce calling one overload from the other? How ridiculous is that.

    The next one made me literally laugh:

    "The new StringSplit function lets you easily cut a string
    based on various separators, and retrieve the pieces in a single
    instruction."

    Also afaik outside of french speaking areas WinDev is 10 times as niché as Delphi is. And advertising WLanguage as 5GL is a joke - that language is as if not more terrible than VB.

    ReplyDelete
  17. You spoke a lot but understood little, take a look to the Windev Mobile reference and the Delphi. no comparison sir, also their Database system for mobile is much better than Sqlite used in Delphi.

    ReplyDelete
  18. Kerbadou Ghazali I don't know anything about windev database system as it is most likely proprietary and afaik sqlite support is there out of the box on many mobile devices which makes it a good candidate to use.

    You claimed that with Delphi you cannot send SMS - after a quick google search I am sure that is not true and you can do that. If there is an API on your device for anything you can access that from Delphi code very likely.

    ReplyDelete
  19. I think you know how to use google

    ReplyDelete
  20. how to access address book, sim card, send files with Bluetooth in Delphi?? all those are easy with Windev Mobile without any external libraries.

    ReplyDelete
  21. Sensors, Apple watches, GPS, Album, and more already in the IDE, no wrapping

    ReplyDelete
  22. Learning more, im using Delphi from Delphi 3, but in Mobile App i'm switching to Windev Mobile because it is more powerfull, don't listen to some CodeRage or some bloggers, they take money from Embarcadero like that peopls who do youtube videos for eToto and forex !!.

    ReplyDelete
  23. Example: copy a file from Pc to a pocket(Mobile) using WinDev Mobile by calling sample function that return true on success: ResCopy = ceCopyFile(cePCToPocket + ceOverwrite, "Image.GIF", "\MyImages\Photo.GIF")

    ReplyDelete
  24. "Which version control are RAD Studio developers using? I found it worrisome that the second most used VCS is "none" -- at about 30% of the total! Come on, even for a single developer on simple projects, not using a version control system is hard to justify these days:"

    This question is very poorly constructed. Version control systems (or whatever you prefer to call them) need to be multi-staged, and able to capture current work at higher frequencies, and then flush out those intermediate details when you hit a milestone.

    My goal with version control is to be able to get back to some previous version of something at some point in time. The granularity is clearly dependent on the frequency at which you capture your changes.

    The IDE can capture changes every time you save a file. I set the backup limit to 100, and this covers changes on modules I'm busy with for a day or two.

    Then I use a tool I wrote years ago called "2-click backup" that lets you set up projects and define folders and file extensions that it goes through and stuffs them into a zip archive. The "2-click" part is: you select a project (one click) then you click "capture" (second click). I usually run this at the end of the day, or after I've hit a point where I've got a new feature or milestone finally completed.

    I use these two regardless of whether the project I'm working on uses anything else, because every project seems to have different rules about when and how often to capture stuff.

    Capturing to a server-based VCS is somewhat of a PITA because it's all the same granularity. And to reduce bloat and random junk, a lot of projects and/or companies only want you to capture major milestones.

    So the question itself is really misleading -- it's asking about whether you use a tool that many projects may or may not find useful, and may have policies that make it NOT useful for actual development work (ie, frequency of captures). Management does not care about what developers need in this regard. They're focused on MAJOR RELEASES. The rest is just noise to them, and policies typically reflect this. If there's a VCS used for daily development needs, it's usually NOT the same one used for managing releases.

    And IIRC, neither routine Zip file backups nor the facility built into the IDE were among the options to choose from, making the question rather meaningless for a lot of us.

    I'm sorry, but praising someone who uses SVN to capture code representing major milestones every 6-8 weeks due to company /project policy, versus ignoring someone who uses Zip files and built-in IDE features to capture daily snapshots is totally inappropriate.

    Where I'm working now, we have some kind of source control system. At least, I was told we did. It's not integrated into anything. I'm not sure how it works or where the files are kept, although I think it's tied into one of the Microsoft Office suites they use. Because a software company needs to capture documents created in Office, right? The software we develop outside of Microsoft's tool set (which is about 95% of the software work) ... meh, it's not important. So nobody uses it. We're left to our own devices when it comes to daily backups.

    (During my orientation week, someone did show me how to backup my files. It's totally indiscriminant, backing up everything unless you tell it to capture less. It does not store your settings. It's not made for software, but just whatever is on your drive. And it took nearly a half-hour to perform. Nope, not gonna waste my time.)

    This is why I say that version control systems need to be multi-staged, and able to capture current work at higher frequencies, and then flush out those intermediate details when you hit a milestone. None of the systems make that easy. Oh, and they need to run with just a couple of mouse clicks.

    ReplyDelete
  25. The pairing of built-in backups that the latest Delphi IDEs make, with daily Zip file backups gives really solid coverage when the company is only interested in capturing major milestones.

    And we haven't even mentioned how to capture DB structure and data changes that coincide with source code changes. Unless you keep scripts to implement them inside of your project file tree, it's highly unlikely you'll have anything captured in a way that would allow you to roll-back very far without causing a huge mess.

    ReplyDelete
  26. Attila Kovacs Doing more in the Windows and VCL directions is a clear indication we got from the survey -- and not only!

    ReplyDelete

Post a Comment