What is the best strategy and language to keep your projects updated? - Techist - Tech Forum

Go Back   Techist - Tech Forum > Computer Software > Programming
Click Here to Login
Reply
 
Thread Tools Display Modes
 
Old 04-02-2019, 11:46 AM   #1 (permalink)
Newb Techie
 
Join Date: Apr 2019
Location: Guatemala
Posts: 2
Default What is the best strategy and language to keep your projects updated?

Hi all. In the company I work for, we have had some discussions about the best strategy to keep our products up to date. Actually, we develop comercial software using PHP 5 or 7, with Symfony 3.4 as our framework.

Nevertheless, Symfony as well as PHP, tend to change to fast and abrupt from version to version. For example, if you develop an app in Symfony 2.x, there is no easy way to upgrade it to Symfony 3.x or 4.x. The problem we see here, is that in 2 or 3 years we will be using Symfony and PHP, but with 3 or 4 different Symfony versions (Symfony 2.4, 2.7, 3.4, 4.0 and so on). Even though it's the same language and framework, maintenance could get really difficult, specially if you have 15 or 20 projects going on at the same time.

I have developed software using ASP.net and upgrading an old project to a newer version is really easy (basically you open the old project using the new version of Visual Studio). Someone told me that the same goes for Java, that makes really easy to upgrade a project developed in java 8 to java 11, for example, whereas in Symfony this is not like opening the project in a new Symfony version.

Ultimately, we are thinking about choosing a new language / framework that is capable of ensuring certain level of compatibility between versions, in order to ensure that jumping from older to newer versions won't be a headache in 3 or 4 years.

With that in mind, here are my questions:

1) Do you know other language / framework / technology that handles this "version changes" in a better way, so it makes you easy to update older projects?

2) What would you advice me to do in this scenario regardless the technology / framework or language used to develop software, in order to keep our projects up to date in an easy way?
__________________

__________________
ferhh80 is offline   Reply With Quote
Old 04-02-2019, 09:58 PM   #2 (permalink)
True Techie
 
U.F.O.'s Avatar
 
Join Date: Mar 2019
Location: USA
Posts: 221
Default Re: What is the best strategy and language to keep your projects updated?

I might be dumb but assembly code C and whatnot is pretty universal and lots of open source software is written as source code and distributed and the user compiles the binary he needs for whatever os he runs or you offer.
__________________

__________________
U.F.O. is offline   Reply With Quote
Old 04-03-2019, 10:33 AM   #3 (permalink)
Private Joker
 
carnageX's Avatar
 
Join Date: Feb 2007
Location: South Dakota
Posts: 24,857
Default Re: What is the best strategy and language to keep your projects updated?

Quote:
Originally Posted by ferhh80 View Post
1) Do you know other language / framework / technology that handles this "version changes" in a better way, so it makes you easy to update older projects?

2) What would you advice me to do in this scenario regardless the technology / framework or language used to develop software, in order to keep our projects up to date in an easy way?
I'm a .NET Developer, primarily C#. Languages, frameworks, and platforms always evolve. We have VB6, VB.NET, C# (our current standard) based apps, that are written in a mix of ASP.NET Webforms, MVC, and a couple recent ventures into .NET Core.

There'll always potentially be breaking changes in newer versions, no matter what language/framework you're using. Always be newer/better things (i.e. MVC over Webforms). Migrating from VB6 to VB.NET/C# isn't necessarily a simple task. Migrating from VB.NET to C# isn't either. Migrating from Webforms to MVC definitely isn't (we do a lot of all of these).

Best thing to do? Make your applications modular. It's more about the architecture, rather than the language/framework. If you architect your applications in a way that they're modular (i.e. having a separate front end project that simply makes backend calls to a REST API), is more important. Because then you can update the components individually/more quickly.
__________________
Laptop: MSI GT70 2OC-059us | i7-4700MQ | 16GB | GTX 770m | 500GB SSD / 750GB HDD | 17.3" | Win10 Pro
Desktop: 4690k | 12GB g.Skill RipJaws | GTX 970 | 520hx | Z87X-UD4H | Corsair Vengeance C70 | Corsair H110 | Acer 25" | Acer 22" | Win10
Mobile: Google Pixel XL


If I help you, or you just like what I said, rep me by clicking the under my post
carnageX is offline   Reply With Quote
Old 04-03-2019, 03:29 PM   #4 (permalink)
Newb Techie
 
Join Date: Apr 2019
Location: Guatemala
Posts: 2
Default Re: What is the best strategy and language to keep your projects updated?

Thanks for the anwers. Perhaps that's the best strategy, make modules and include the use of APIs, nevertheless, that doesn't eliminates the fact that you are always going to have those modules in different versions of the software.

I understand that you can't totally avoid this, but for example if you developed some software using Visual Studio 2005 with C#, it's easy to update the project and continue its development using Visual Studio 2017, with C#. That means you can upgrade projects that are at least 10 years old. That is not something you can do between Symfony 2.4 and Symfony 4 for example, and there are just 4 years between both of this versions.


Migrating between languages (C# vs visual basic) is a totally different topic.
__________________
ferhh80 is offline   Reply With Quote
Old 04-03-2019, 04:48 PM   #5 (permalink)
Private Joker
 
carnageX's Avatar
 
Join Date: Feb 2007
Location: South Dakota
Posts: 24,857
Default Re: What is the best strategy and language to keep your projects updated?

Quote:
Originally Posted by ferhh80 View Post
Thanks for the anwers. Perhaps that's the best strategy, make modules and include the use of APIs, nevertheless, that doesn't eliminates the fact that you are always going to have those modules in different versions of the software.

I understand that you can't totally avoid this, but for example if you developed some software using Visual Studio 2005 with C#, it's easy to update the project and continue its development using Visual Studio 2017, with C#. That means you can upgrade projects that are at least 10 years old. That is not something you can do between Symfony 2.4 and Symfony 4 for example, and there are just 4 years between both of this versions.


Migrating between languages (C# vs visual basic) is a totally different topic.
The VS2005 -> VS2017 example isn't necessarily true either. There can be breaking changes in compiler versions (MSBuild) - and in the real-life scenario of VS2010 -> VS2012+, it required a different solution format and broke backwards compatibility to anything before VS2012. There's also issues with things like Report Viewer tooling/controls, SSIS projects, database projects and such like that, that aren't always compatible between versions (and for new versions of VS, you have to wait for the new version to come out of your tooling).

Going by just pure source language tho; you'd most likely be fine. But if there's any other modules, packages, tooling, etc. that's used - there's still compatibility snags for older/newer versions. Gotta watch for those.
__________________
Laptop: MSI GT70 2OC-059us | i7-4700MQ | 16GB | GTX 770m | 500GB SSD / 750GB HDD | 17.3" | Win10 Pro
Desktop: 4690k | 12GB g.Skill RipJaws | GTX 970 | 520hx | Z87X-UD4H | Corsair Vengeance C70 | Corsair H110 | Acer 25" | Acer 22" | Win10
Mobile: Google Pixel XL


If I help you, or you just like what I said, rep me by clicking the under my post
carnageX is offline   Reply With Quote
Reply

Tags
development, java, php, software, versions

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Best way to keep an updated customer database? helpplease1 Servers and Virtualization 1 04-03-2011 08:12 PM
Manage your projects with KPlato Osiris Linux Tips and Tricks 0 03-07-2010 10:21 AM



Copyright 2002- Social Knowledge, LLC All Rights Reserved.

All times are GMT -5. The time now is 07:35 AM.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2019, vBulletin Solutions, Inc.