Sorry Void, Wasn't trying to shatter dreams. Just pointing out the inevitable future, Like I said BA, I agree there will be a place, but I also know that in the future, the programming languages of today will become nearly obsolete (IMO)
The money will be made if you conform to the industry standards.
Right now the trend is (as you said) Web Development, Web Applications, Web Portals, CMS,
Last year over 1 billion Iphone apps were download , taking in apples 30 % and a few extra costs, I calculate approx. 50 Million dollars in sales, so much to the fact that last year I was offered to do a Iphone barcode scanner app at $250,000 (I turned it down because at the time it was out of my realm.) Now you can develop web applications and sell them in the APP Store, and company's are now trying to hire individuals to develop for these platforms, more so then any other device. The mobile device (mobile implies local storage and internet access to be "useful") , Again just some thoughts .
The web application is a more profitable choice, I still say learn other languages, because when you go for that project job, your client may be very specific.
I recently had a job where I had no other options but to use PHP, the client WOULD not allow asp.net, so I had to use someone else to do the work (co-member of company)
Your clients will want
Web Applications or Mobile applications, as time progresses, even more so.
Why?
Never really have to install a web application,With Ajax we can offer a desktop and windows, and applications without the user needing to install the software
Updates are seamless and happen on the fly, we make an update in the application, and the user has that update without needing patches and upgrade CD's or downloads.
No admin rights required, you don't need admin access when you run your application
It is available anywhere in the world, stored documentations, files, backups, printouts, the application can be grabbed from anywhere you are, no need to install it on another computer.
for the most part it is cross platform, yoru application can run on any internet device...Windows, Linux, Mac, ChromeOS, Use Intranet in command line linux...
because of this there is less environmental conflicts ,Enable social possibilities which gives the client a better opportunity to promote an application and share this application across the internet. Which now allows us low cost of sale, No Boxes, No Printed material, No advertising really needed. Even though computers are becoming faster, you can run this application from a old windows 95 machine because it isn't CPU/Memory extensive. This application can be
Piracy proof, You won't need a distrubutor company (which alot of software companies went ot of business for)No Viruses,No more channel reliance, Most software companies make it or break it, depending on their channel, there are Billions of users online....Access to the entire assets of the Web (APIs, widgets, messaging, collaboration)Compiled desktop applications are going to have a hard time being adapted for mobile devices. Web apps are ready made and easy to port to a mobile device,
And these are just some of the reasons you should be ready to learn other languages, especially web based languages.
The bottom line as I see it, if the code we made today were anywhere near close to perfect, Hardware errors or BSoDs (probably also along with the exploits of malware) wouldn't exist. Meaning even at the lower level things require revision, there have been thousands of errors found in programming languages themselves (there was recently a news on how virus' were being spread by Delphi programs which I don't feel like searching for, and Java has a reputation of allowing hackers an unwarranted amount of information of any host computer with a bit of coercion) , which means slowly the quality of programs and computer performance are degrading despite the cheaper processor power/memory, etc, simply because of laziness. Windows could never be made into a fully 64 bit OS (Windows 64 runs in a 42bit virtual environment) because with such relatively massive space, errors would run rampant because of bad code.
I very much don't care about the money aspect, only about making things easier maybe even for Web coders and HLL programmers like NextGen. C# will overcome C++ because it's faster and cheaper the same way C overcame C++ when there was at first a battle between the two over power. Actually what I really care about is taking advantage of whatever ever incompetence is out there to get a jump on the rest with programs,and/or produce hardware that is obviously better.
We're building our Programs, on flawed hardware, on-top of flawed OS' on-top of flawed VM's. The increase of miscellaneous, completely oddball errors is inevitable because of the considered factors.
~
Don't care about the industry, if Lower level languages die everything will slowly die, the bad code which would probably more literally spread like cancer, from level to level degraded bad programming, (hardware to OS to VM from bad compiler).
I acknowledge the idea the average programmer cares less and less about performance or what's under the hood. But as I see it this might guarantee a lack of competition if I go into hardware, or making IDE's or completely different programming languages, probably profiting from making separate tool-sets for AppDevelopment, selling licensing for its use etc.
I would also be entertained how easy everything would be to hack, the Internet itself needs a code revision IP isn't all that secure, the internet was never made for secure transactions or privacy. Also if quantum processing or any other variety of processor that would bring parallel processing on to the stage, encryption would become useless as we know it.
Oh shit! intelligent discussion. Give me a bit to catch up, its been a while since I had to read more the a one paragraph response.
You'll have to learn how to read all over again....
~
The virus you are referring to ( I remember this, I think I explained it either to why06 or another member/mod/section, about a month ago) was a virus that infected delphi developed programs and then when transfered would infect every delphi developed application on that machine, and continue doing so with transfer and development, it was huge for a while.
onto the discussion of development and their languages, What most people don't realize is the exact opposite of what ArhkXi said, the internet was developed for security, infact the internet (first concept of memex) was developed in concept with packet switching in the organazation called "R.A.N.D"
(Research ANd Development) which is essentially a think tank to analyze the United States Gov't and it's armed forces. (even the concept of the internet was first thought up by a visionary who's ideas sprung the information network (thought as memex) Vannevar Bush, who later became part of the faculty at MIT) , the concept was originally design for secure packet transfers, it wasn't until ARPANET transfered to NSFNET that security became an issue. But in this time with Secure Servers, SSL, Ability to change ports, Close ports, secure passwords, and now mkaing it even harder to sniff ports, the internet is only becoming more of a secure area to transfer information, I have been to DefCon and Notacon and played numerous games of CTF (Capture the Flag) [which for you non real developers and old school hackers is a game similar to Capture the flag as you know it, except it is a computer war game version, each team gets it's own small network to defend on an isolated network. We are scored on attacks and defenses we usually had to try and get the opponents flag off of their system and onto ours) and you would be suprise how easy it was) No let's take that same game except having their operating systems built in a web language, and all of our applications and their applications built in a web device, How would I hack their system..? I may be able to breech the walls, but how can I capture the flag, I would no longer be trying to break through a Local Isolated network, but now across the internet, I would have to figure out which port they are using, sniff the data, hope it isn't encrypted , I wouldn't be able to use port sniffers, I wouldn't be able to send a effective virus, except maybe a key logger..and if they are passing it on a secure server and the SSH ports are something absurd like UDP 2590, I would never win, and that game would lose all of it's fun, point of this story is that Web Based applications are by nature more secure, especially when dealing with a web developed operating system and a secure cloud server.
@ Development
market statistics and analysis will show us (the developers) what is to come, which is why (Considering I do this commercially) it is important we keep up with this information, The top ten programming languages 10:1 = Needed:Least Needed respectively)
10. HTML/CSS (The Most Likely used programming language of the future)
9. **********
8. Ajax 7.2
7. Python 6.9
6. ASP
5. Ruby
5. C#
4. .Net Languages
3. C++
2. ASM
1. C
I don't mind C or C++. C++ can be great for embedded realtime applications .
However, I think there is a trend in languages, and this trend will become more evident if you continue in this industry. I think we are just about seeing the end of languages like C++ and Pascal Even Java and Flash will near becoming obsolete within 5-10 years . I think that the web languages will take over the profiting part of the industry.
As this decade progresses I expect to see an ever increasing use of dynamically typed languages, such as Python, Ruby, and even Smalltalk.
I guess ill have to start learning html again >.>
Originally Posted by NextGen1
which for you non real developers and old school hackers is a game similar to Capture the flag as you know it, except it is a computer war game version, each team gets it's own small network to defend on an isolated network. We are scored on attacks and defenses we usually had to try and get the opponents flag off of their system and onto ours
DAUM that sounds awsome >.> Wish I was there back then =(
edit: I guess ill have to wait with practising html5
I have no phone capable of going on the internet, and I don't want to upgrade my firefox to any version above 2.0
The concept never denied that the different IP revisions were for security purposes as were other things of the like and etc. I was referring to the fact its creation never involved the thought of security at its base it wasn't created for security, but we call it secure now despite the exploiting of Internet mail protocols constantly, and other methods in poisoning a network and its protocols, the concept wasn't created for security and just because the government jumped on it doesn't make it secure.
As for the future of the average application maybe web based, I don't know. My interests honestly aren't in the "average" application market. I may be the one making a menace out of myself selling tools for testing "network security" marketing to professional companies making everything sell at a pretty penny. I guess if you look at it that way, servers will still need professional coders in actual Programming languages, for their server programs.
Also the appeal of marketing Languages that fit the market and making some coin selling the equivalent of VS with an equivalent bonus that is like MFC.
~
Encryption is nearing on the verge of becoming useless... Even I honestly don't know how to stop something with enough processing power to run parallely a massive number of (completely) separate processing threads bent on bruting an encryption and every port. The thought of having a constant scrambler would be maybe ideal, but would it be worth the constant output of processing power?
@ HTML and HD
Safari and Chrome Support HTML5 , you don't need to wait just download one of those browser, safari is better because it better handles the animation transitions , chrome is a little jumpy
@ Arkh
We will probably have different oppinions on the matter soley because I am embedded in the industry, so I almost have to look at it from that point of view.
@ the topic of security, I don't think we can really know the intentions of RAND, but keeping in mind that it was funded and supported by United States Department of Defense, One Could assume security was a priority, what the U.S puts on paper may or may not always be accurate
And issues with security in the internet today stem from the users, and exploits are available because of their negligence.
I think this is the best thread hijacking conversation I've ever seen.
/agreed
If we all become lazy HLL coders, the Chinese and the random German hacker kids win.
~
Meh, safari doesnt seem to fully support HTML5, unless I need to download a special version >.>
HTML5 Demos and Examples
all video related ones are broken, offline/online detection is broken, only one tht seemed to work was drag and drop
Wow, from all I've read... the future seems scary to say the least. Im so used to programs running on ur own computer to actly be on ur own computer. Hmm however lets think about this.
I imagine reverse engineering will become far worse then it is. If your application is run in a HLL, they are usually much easier to reverse. I imagine a web-based language would have these problems. The future techniques used to defend against these security flaws should be very fun to watch pan out.
However I would also like to say I don't think the future is NOT quite so predictable. In fact almost everytime someone tries to predict the future they are wrong. Paradigm shift is an important concept. While many computer people understand hardware is advancing I don't think many people realize however that software is advancing too. Computer Science after all is a science, and some of the things we might see in coming might be simply amazing. Artificial Intelligences to check for security flaws in systems, etc. I think the creation of AI, will completely change the game. An intelligent web-based malicious program could have unheard of control as the internet has more control over personal computers.
I really do think AI, will come about, and I also believe it will follow a similar approach to how life evolved. Starting out as viruses, bacteria. Small malicious programs designed to grow, designed to take over systems. And while Servers may become more and more secure, I believe the increased privileges and rights that external software will leave end-users more open then ever before. Infection on a widescale... and like any ecosystem there will have to emerge a balance. A programmer who can create a virus that evolves and learns will hold the most control. AI defenses could be created to defend against such attacks as well, I imagine however with everything being so interconnected the spread of an outbreak could be much worse than anything we've seen before. Imagine a world where the state of a country depends on the state of its computer networks. I think this is quickly becoming a reality.
Computers will become so intrigal to everything from your house, to ur car, etc. Now imagine a devastating web-based virus is released. How would you defend against it? with another web-based app? I don't think so. I think you would want as much power as possible from the native system. So speed advantages from native code can help conteract viruses and keep them in good shape, because as web based languages become more universal people will try to code malicious programs in them since they have the widest area of effect. Sort of how ppl code most malicious programs for windows since it has the largest populations of PC running under the OS.
Predicting the future usually is hard, but recently I've been reading more and more articles on these things they're calling "web bots." Apparently complete nerds, have been doing projects of predicting happens according to the occurrence of certain keywords on the internet, I'm sure there is some complex pseudo logic-math algorithims that go into the resulting data they retrieve with their scouring computers. But so far it has been claimed they've predicted 911, Obama becoming president and lots of other things I don't care about.
~
AI is a hopeful whim, if computers could realize they're being made to do things they aren't suppose to then malware wouldn't be able to dominate things as much.
The AI would control the computer and would either start executing and then realize its made a boo boo with trusting a certain program and drops it and undoes the programs wrongs, or know better than to touch something in the first place, but in theory even AI would bring in new security problems, if computers were to adapt inteligence what would be the principle base-line of their reasoning. Should I make sure that data is secured at all cost?
But what will I do if I get a request from a web server for some touchy information, should I simply make sure all its certificates are in-line? (or interrogate the server AI to hell until he gets annoyed at me, (depending on the personality you got for your computers AI they might enjoy that option)) How will I define which data is of the upmost sensitivity and should be touched by nothing, well I could ask my own his opinion or I could opt and fallback on the "moral code" I've been programmed with.
You'll notice most everything AI would bring into play wouldn't be much different from how things are now. Only that these systems would have maybe even, too much self awareness that they'd get stuck many times in a logic loop (this would force them to fallback on some hardwired moral code when they're stuck in a logic loop, I would presume). Computers use logic on a scale that would be even comparable to even their predeccessors after them, security wont get any different at all, because computer work is a complete logic operation and no one, not even computers know all the answers when it comes to code that might seem suspicious but could even be a well merrited virus scanner (which is why eventually in the future users might become annoyed and disable UAC once again), AI would probably only bring advances in giving personality and making things more user friendly.
Ofcourse unless your future computer is comletley dimwitted it wont automatically run code that will delete your personal music files. But nothings to be said about a program who in its self is more inteligent that its running enviroment,
AI is a sticky consideration, when you consider that you computer could run other programs to begin a program of greater inteligence than it as the OS, I could imagine a dialogue between a beastly AI OS and a cunning malware program, "Running program AI interface in order to confirm its purposes, program AI interface execution intialized", "Hello", "I request a program class ID", " I am a spyware scanner", "I will begin to observe your code, for potential faults, or miscellaneous errors", "You don't need to I am a signed product of Arhk teck" (a forged file signature of the company ofcourse accompanies this little sneak) "I cannot halt this procedure" (if the program tries to run off and get the computer to run malicous lines of code the OS with Gen 4 Advanced AI and Hakura personality, will quickly assert its power to cut its execution), "Wait what are you doing?", " I am following through with procedure, please do not attempt to halt any longer, or I will cut your execution", "you already validated me.", "I do not understand.", "here is the validation signature" (presents a false validation), "Your full execution is allowed you have been approved for class A clearance as a spyware scanner.", runs some malicious code quickly Hakura recognizes this and is inteligent enough to cut execution of the malware, a less intelligent computer would have trusted his executions in its entirety since he did "pass" for class A clearance.
Future computer security with AI would be how an ideal actual zero day scanner would work today, 1. At all cost protect the kernel this is my domain no code will be allowed to edit this part of me (this is OS law), 2.(Live Scanner) Observe suspicious code and halt it if anything suspicious/suspicious execution is about to take place. 3.Prompt the user on whether to delete this file. etc.
@HD
I can help you learn HTML 5 if you want, the additions are not only extremely powerful but easy to understand.
You can even use it to access I-Phone API , like <href Tel:XXXXXXXXXX
which would have to be done with _blank to allow the application to open the phone pad on a i-phone and call the number, I went to a convention recently (with my brother) which had a demonstration of IAD, the demonstration was brilliant from a marketing sense, but looking at is a developer, I was astonished, The animations/transitions were so smooth and flawless, Flash, silver light, JQuery, no Contest, HTML will replace so much in the industry.
@ Topic In general, Notice how probably the 3 or 4 most intelligent people are the only ones in this conversation... probably the only group of individuals able to handle a long intense conversation on a topic most may not even care to understand ;p
@ Why06 , I believe that AI has been a thought for the longest time, and that we are afraid of the possibility of true artificial intelligence, that it will exist to some extent but (imo) not to the extent represented by Sci-Fi movies and books that have been around for ages. Self Aware machines will not be in existence for 50 maybe 60 years, and the reason for that is self preservation. (again IMO, I love the thought of AI, if anyone remembers I created a faux AI system using Speech SDK and Home automation, just for fun and connected it to a servo and a webcam).
I don't think anyone can predict the future and as a developer we have to assume there will be Fads, and there will be changes, I do however (as a commercial developer) have to follow those trends and try to analyze what the future holds, because if your company can not conform to new fads and possible changes in the industry, you can easily be out of a job or out of work.
I knew a guy who worked for IBM for ages, he used to talk to me and show me the coolest gadgets (like micro CD's 5 years before they came out) and now and days I run circles around him because he retired 5 years ago, in 5 years so much has changed that what he holds true about software and hardware development is almost extinct.
Computers are already in Cars, Your Phone is a micro computer running windows (or can be) there are computer chips and intelligent design in so many devices and appliances , the fact is "We are the future" of design, but who we develop for will determine what languages we choose to apply.