What's new after 20 years?
-
PRO TIP: It isn't going to ever happen. After years of promising this the fact is we are worse of today than 10 years ago because we now have different form factors. It appears the whole thing is getting worse to me and I expect soon to have a request to build a website that looks good on a clay tablet or as a tattoo on an elephant's arse.
-
Wow! Never thought of this!! Fun stuff!! Also never thought that .NET could be used with microprocessors... beats coding assembler (which I've done a bunch) I've got a close friend that works at a microprocessor manufacturer and we have all kinds of interesting talks, all the time about this very subject, but more on R/C aircraft. I could use a snake-like drone now to wipe out some rats that are in the attic!!!
Have a look at these fantastic offering! http://www.robotshop.com/ghi-fez-rhino-net-microcontroller.html[^] http://www.tinyclr.com/[^] http://www.pololu.com/catalog/product/777/resources[^] http://www.mindsqualls.net/MotorControl.aspx[^]
dev
-
Dave's not here, man.
"Microsoft -- Adding unnecessary complexity to your work since 1987!"
-
Dave's not here, man.
"Microsoft -- Adding unnecessary complexity to your work since 1987!"
-
I must admit that I've found the sheer number of languages/paradigms somewhat mind-boggling. Through this question here I've understood that I can dust off a few things and have fun with that... and so I will! After that I'm going to look at some of the paradigms you brought up and see what they are and get a feeling for them. On a sidenote, I have a stepson that thoroughly enjoys Haskell and Erlang, but then again he is a CS major... Thanks again for your input!!
glad to help
-
I've been away from the business about 20 years now. I studied CS in the early 90's when C++ was the upcoming star, to find out that it is old hat now-a-days. I've been side-tracked by accounting and it would be interesting to find out your take as to what an Old Fart like me should update my skills with...
If you have nothing constructive to say, be silent!
As someone said, there are many paradigms. I like everything done by pragmatic programmer, but there is a book Seven Languages in Seven Weeks that gives a good survey of what's out there.
-
I've been away from the business about 20 years now. I studied CS in the early 90's when C++ was the upcoming star, to find out that it is old hat now-a-days. I've been side-tracked by accounting and it would be interesting to find out your take as to what an Old Fart like me should update my skills with...
If you have nothing constructive to say, be silent!
PHEW! The first 40% of my career was dominated by C/C++. This didn't mean I didn't program in anything else (just for business, by 1997 I'd programmed in C, C++, Pascal, 8086 assembly language, Dos batch, Rexx for OS/2, and SQL, and Microsoft Basic in its several dialects before VB6 and Office 97). Now, I rarely if ever write anything in C++, and only slightly more frequently in pure C. It's all either VB.NET or C# on the server, Javascript (with some VBScript on some legacy ASP apps) in web browsers, and lots of SQL. SQL has become the standard database query language. Any developer working with commercial databases will eventually wish they knew SQL. It's not new, though. I strongly recommend giving Javascript some time and thought. Despite its syntactic similarities, it is NOT much like C/C++. The Code Project's Daily News recently referred to a Java JVM with compiler and decompiler that had been written in Javascript - this ring a bell with the way C was pitched to us back in the distant past? Yet Javascript is more like Lisp in the way you can instantly create and redefine classes and instances at run-time. It's the base language for most of the client frameworks on the web, making it an essential stop if you plan to play with web programming. It's not new, but it is the bricks from which much shiny new stuff is being made. Java, or rather the Java Virtual Machine, is the current "universal language." The Java Virtual Machine insures that Java code will run identically on an 80386 relic or an MVS mainframe and everything in between, including a host of smart devices that live in your home and car. Think of how you would build C/C++ for folks who you never want to bother with what's actually inside their data (you know, like BITS) and that's Java. C# on the .NET environment is similar, but much less portable. Go and Dart seem to be the contenders for a new system language to do what C once did. Dr. Dobb's Journal has some interesting articles about these. I'll skip the functional languages, except to say that if you've never played with Lisp, they will change your world. Any of them will do this, so I suggest you try any of them. It will open your mind to new ways of thinking about computation. That should do for starters :cool:
"Seize the day" - Horace "It's not what he doesn't know that scares me; it's what he knows for sure that just ain't so!" - Will Rogers, said by him about Herbert Hoover
-
As someone said, there are many paradigms. I like everything done by pragmatic programmer, but there is a book Seven Languages in Seven Weeks that gives a good survey of what's out there.
I'll have to take a look at that book!! Thanks for your input!
-
PHEW! The first 40% of my career was dominated by C/C++. This didn't mean I didn't program in anything else (just for business, by 1997 I'd programmed in C, C++, Pascal, 8086 assembly language, Dos batch, Rexx for OS/2, and SQL, and Microsoft Basic in its several dialects before VB6 and Office 97). Now, I rarely if ever write anything in C++, and only slightly more frequently in pure C. It's all either VB.NET or C# on the server, Javascript (with some VBScript on some legacy ASP apps) in web browsers, and lots of SQL. SQL has become the standard database query language. Any developer working with commercial databases will eventually wish they knew SQL. It's not new, though. I strongly recommend giving Javascript some time and thought. Despite its syntactic similarities, it is NOT much like C/C++. The Code Project's Daily News recently referred to a Java JVM with compiler and decompiler that had been written in Javascript - this ring a bell with the way C was pitched to us back in the distant past? Yet Javascript is more like Lisp in the way you can instantly create and redefine classes and instances at run-time. It's the base language for most of the client frameworks on the web, making it an essential stop if you plan to play with web programming. It's not new, but it is the bricks from which much shiny new stuff is being made. Java, or rather the Java Virtual Machine, is the current "universal language." The Java Virtual Machine insures that Java code will run identically on an 80386 relic or an MVS mainframe and everything in between, including a host of smart devices that live in your home and car. Think of how you would build C/C++ for folks who you never want to bother with what's actually inside their data (you know, like BITS) and that's Java. C# on the .NET environment is similar, but much less portable. Go and Dart seem to be the contenders for a new system language to do what C once did. Dr. Dobb's Journal has some interesting articles about these. I'll skip the functional languages, except to say that if you've never played with Lisp, they will change your world. Any of them will do this, so I suggest you try any of them. It will open your mind to new ways of thinking about computation. That should do for starters :cool:
"Seize the day" - Horace "It's not what he doesn't know that scares me; it's what he knows for sure that just ain't so!" - Will Rogers, said by him about Herbert Hoover
Wow!! Thanks for your insight!! Gives much food for thought!! I guess I have three more languages to look at:Go, Dart, and Javascript... Thanks again!!
-
Through this question here, I've understood that I still have viable knowledge, albeit dusty and forgotten, and that has been a real vitamin injection!! I sort of feel I need to stop thinking about making my code really effective. I've understood that performance isn't really an issue (except for games I guess)...
Performace isn't the same issue it was 20 years ago. On your typical desktop application you've got so much more memory and processing power now that we are spending 99% of that power drawing shiny half-transparent drop-shadow thing-a-ma-widgets that you have to have or the designer prima-donnas will point to it as proof your application is obsolete. [Thank god for the UI-design-philosophy-formerly-called-Metro.] Your average compiler is better than you at optimizing, and most computation intensive algorithms are available as highly optimized routines in a library. Unfortunately that means today's developers think they don't have to worry about performance at all. Which just isn't true. You should see the !@#! that some junior programmers have written! I had one give me a module that brought my computer to it's knees as soon as I threw a medium sized quantity of data at it -- turned out he had an O(n^3) implementation of an algorithm that should have been O(n). Data is getting bigger all the time. Bandwidth is limited in the vast majority of homes and on most phones -- despite what the technological elite experience. The performance issues are high level design issues now, and your instincts from 20 years ago will server you well -- choose an efficient design, implement intelligently, and let your tools handle the rest.
-
Performace isn't the same issue it was 20 years ago. On your typical desktop application you've got so much more memory and processing power now that we are spending 99% of that power drawing shiny half-transparent drop-shadow thing-a-ma-widgets that you have to have or the designer prima-donnas will point to it as proof your application is obsolete. [Thank god for the UI-design-philosophy-formerly-called-Metro.] Your average compiler is better than you at optimizing, and most computation intensive algorithms are available as highly optimized routines in a library. Unfortunately that means today's developers think they don't have to worry about performance at all. Which just isn't true. You should see the !@#! that some junior programmers have written! I had one give me a module that brought my computer to it's knees as soon as I threw a medium sized quantity of data at it -- turned out he had an O(n^3) implementation of an algorithm that should have been O(n). Data is getting bigger all the time. Bandwidth is limited in the vast majority of homes and on most phones -- despite what the technological elite experience. The performance issues are high level design issues now, and your instincts from 20 years ago will server you well -- choose an efficient design, implement intelligently, and let your tools handle the rest.
Thanks for reaffirming my thoughts! I mean there must always be a need for neat, tidy, and efficient code! No matter the application nor environment... Makes me think back to the early 80's when my Atari 800 had 65k internal memory in total. Well I splurged and bought another module so I doubled the internal memory!! I miss programming assembler at times, but most often not!
-
Thanks for reaffirming my thoughts! I mean there must always be a need for neat, tidy, and efficient code! No matter the application nor environment... Makes me think back to the early 80's when my Atari 800 had 65k internal memory in total. Well I splurged and bought another module so I doubled the internal memory!! I miss programming assembler at times, but most often not!
My TRS-80 model I was limited to a 64k address space and the first half of it was the OS in ROM and the video address space -- leaving only 32k for user programs. I had to learn assembler to make my programs fit.. I would have loved to be able to buy more memory...