• 0

Where is the future heading, what should I learn


Question

Hi,

I was just wondering if anyone could guide me in the right direction. This is the issue, I want to know where the future is heading in regard to programming. To be more specific, I want to know where the future is heading for lanugages that support core business functions. I want to create business applications (custom software) but I don't want to spend much energy in learning a language that is dying.

I'll give an example of what I mean by custom business applications. An example could be an application that interacts with an active directory database and manipulates it in ways that involves much automation and convenience which may not be available in the standard functionality of active directory itself. I want to specialise in database driven applications that support business processes and needs so what should I learn?

Should I learn PHP? or ASP.net or are both these technologies dying? Where is the future heading? Is Java the answer? What about HTML5 and CSS3?

When I was looking for work I noticed that there was plenty of positions available for Java and PHP, is there a reason behind this?

Also when desiging web applications, is there a way to do the visual interface design in a more automated way similar to what is available in VS.net? For example how Visual c# allows you to design the interface (buttons, frames, drop downs etc) with a few clicks of the mouse? Does dreamweaver achieve this?

I know there is an abundance of software available to support common business processes and functions but I want to specialise in custom software development. This also raises another question, what are the software applications that are mostly used in established large scale businesses? (SAP, VMware citrix etc)

Also is OOP the fundamental framework for the future?

My last questions are, can I achieve my goal by creating server side applications or will a simple client side app (created in example in c#) that allows access to a multi user database suffice. Also do businesses involve server side apps even though they are used internally within the business to support business processes (Ie they don't go outside the business network? does this occur in businesses?)

I appreciate the time taken in reading my post and i am thankful for any replies.

-Mohsin

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Noting, world would end in 2012 anyway, why bother .. find a woman and relax ...

If that is not you, then you should look at all of them ... spend a few hours a day looking over a language and then move to the next ... by the month end you'll be exposed to what people are using the most and what is easy and what is not.

I have looked at php, interesting but don't have the time to study it. Java, not my cup of tea(coffee). C#,C++,C will dig as well as python ... for whatever use I have with them atm. VMware do use frequently and quite enjoy it, except when it is not working in which case I yell at it that does not help either). Server/Cloud is something you must look into it, as well as citrix and some other OSs from Ms,Apple, Google/*nix. Devel wise would mostly go for *nix as the market is very small (server/support) and have seen some well paid positions (and grey hairs soon after of course if Outlook does not show proper font).

If in doubt, as a devel, you should look at a few options as none will give you flexibility in a project over something else. Some will want in php just because and other will want you to convert or use various languages to achieve the end result. In server setting they use them all so no one is better over the other.

I work in a bank setting and in-house devel is huge. Entire websites in Java. Flash add-ons, php, c++ and other random stuff I have not seen. VB is huge within excel and when **** breaks, it hits the fan big as end day results cannot be published and IT gets the entire company on its shoulders although it could be something benign.

  • Like 1
Link to comment
Share on other sites

  • 0

Noting, world would end in 2012 anyway, why bother .. find a woman and relax ...

If that is not you, then you should look at all of them ... spend a few hours a day looking over a language and then move to the next ... by the month end you'll be exposed to what people are using the most and what is easy and what is not.

I have looked at php, interesting but don't have the time to study it. Java, not my cup of tea(coffee). C#,C++,C will dig as well as python ... for whatever use I have with them atm. VMware do use frequently and quite enjoy it, except when it is not working in which case I yell at it that does not help either). Server/Cloud is something you must look into it, as well as citrix and some other OSs from Ms,Apple, Google/*nix. Devel wise would mostly go for *nix as the market is very small (server/support) and have seen some well paid positions (and grey hairs soon after of course if Outlook does not show proper font).

If in doubt, as a devel, you should look at a few options as none will give you flexibility in a project over something else. Some will want in php just because and other will want you to convert or use various languages to achieve the end result. In server setting they use them all so no one is better over the other.

Hi, thanks for your reply, I do apologise to the readers for asking so many questions (thus the reason i appreciate the responses). I haven't kept on top of my IT knowledge so I'm lagging quite behind compared to others who have followed it closely. This and the reason that IT is evolving at a rapid rate. We live in an information age.

Thanks for your response!

Link to comment
Share on other sites

  • 0

The first thing you should consider before even beginning to worry about what language to use, is learning software architecture and separation of concerns, which are paramount in business applications especially. The truth is, the language you implement it in isn't all that important except for the fact that it should be truly multi-platform (for future support) and have good development tools.

A lot of people get hung up about the language, but that's only a small part of it. You should look at what kind of libraries and modules the development platform provides, and whether they meet your design objectives.

For general purpose database programming, there are quite a few well supported FOSS languages:

  • Python
  • Java
  • Perl
  • PHP
  • Ruby
  • C/C++

Any of those will usually do the job well. You can even mix and match your different application concerns in separate languages. Presentation, Logic, Database, for example.

Personally, I like C because it's simple, fast, and you can just directly interface with the chosen database engine's API.

Link to comment
Share on other sites

  • 0

I think I could of asked my questions in a more simple way, I think I made it a bit complicated. i guess the questions could be answered if I asked "Where is the future heading for IT, what technologies should I keep an eye on that have a bright future and what technologies should we expect to emerge? (keeping the field of programming in mind when answering this question would be appreciated). I guess there is no harm in mentioning technologies that are not directly related to programming as that would be interesting also (but it may deviate from the topic)."

The first thing you should consider before even beginning to worry about what language to use, is learning software architecture and separation of concerns, which are paramount in business applications especially. The truth is, the language you implement it in isn't all that important except for the fact that it should be truly multi-platform (for future support) and have good development tools.

A lot of people get hung up about the language, but that's only a small part of it. You should look at what kind of libraries and modules the development platform provides, and whether they meet your design objectives.

For general purpose database programming, there are quite a few well supported FOSS languages:

  • Python
  • Java
  • Perl
  • PHP
  • Ruby
  • C/C++

Any of those will usually do the job well. You can even mix and match your different application concerns in separate languages. Presentation, Logic, Database, for example.

Personally, I like C because it's simple, fast, and you can just directly interface with the chosen database engine's API.

Hi Thanks for your response I appreciate it. I will keep all that in mind. I guess one of my concerns can be expressed as an example. Let us say I wanted to develop an application which interacts with active directory. Now would it make more sense to use a Microsoft supported language to develop the app as opposed to something like PHP as there would be more support for it that way. I guess one of my concerns is limitations and compatibility.

-Mohsin

Link to comment
Share on other sites

  • 0

Cloud computing, and the big push everywhere is to make applications that can access data on any platform at any time. See any of the app-based OSs for examples (iOS, Android, now Windows). Basically, here's a document I just wrote, I want to share it with my co-workers, who have to access it on an iPad, an Android phone, and a Windows PC. How do you do that?

Java and PHP are hugely popular at the moment. Java because it runs almost anywhere, and PHP because it's the go to language of every web server, and it's fairly easy to get up and running, and there are thousands of web applications built in PHP already that need to be fixed/updated.

10 years from now? Who can say, really. I think Javascript + HTML will be hugely important, as that has already shown to be a way to distribute content across platforms, and assuming someone champions that initiative, the combination of the two could replace a lot of native development. Server side, I think PHP development will slowly decrease, but it will be the same mix we see today (PHP, Python, Ruby, ASP.net, etc)

On the server side, PHP will go away when someone implements something easier.

Link to comment
Share on other sites

  • 0

Server side, I think PHP development will slowly decrease, but it will be the same mix we see today (PHP, Python, Ruby, ASP.net, etc)

On the server side, PHP will go away when someone implements something easier.

I couldn't disagree more with this. Now that PHP is gathering momentum in its OO design patterns, it will go the other way. It's really starting to mature from a "scripting language" to a "proper development language" now, and with frameworks like symfony2 and Zend Framework 2 coming out I think we're only just beginning to see PHP get to a point where it can compete and grow.

I also very heavily dispute that PHP is difficult, and needs replacing with something easier. You've obviously never tried objective-c for an iOS app development if you think PHP is a difficult language!!

Link to comment
Share on other sites

  • 0

I couldn't disagree more with this. Now that PHP is gathering momentum in its OO design patterns, it will go the other way. It's really starting to mature from a "scripting language" to a "proper development language" now, and with frameworks like symfony2 and Zend Framework 2 coming out I think we're only just beginning to see PHP get to a point where it can compete and grow.

I also very heavily dispute that PHP is difficult, and needs replacing with something easier. You've obviously never tried objective-c for an iOS app development if you think PHP is a difficult language!!

Depends, I personally think it's easier to tack a web framework like django onto a OO language like Python, but like I said, I don't see PHP going anywhere. I don't mind PHP, and I think they're on the right track with a lot of the recent changes, but it still has a way to go.

And by "easier" I mean easier to set up. If every free web server out there ran django out of the box, I think PHP would drop in usage. Obviously it's install base is so huge it will never drop much. I can't imagine much easier to code in than PHP.

Link to comment
Share on other sites

This topic is now closed to further replies.