"Many people including some "idiots off the street" seems to have wound up capable of bodging something really nasty together with exel and possibly powerpoint. Like it or not, that is programming."
The worst crimes I've seen were committed with MS Access. One of the accountants decided he suddenly had programming chops and took it on himself to slap together the most god awful mess of half assed end of month reporting procedures. Once the mainframes had done their work we used to have to get in at 7AM and start the EOM processing on the PCs, consisting of dozens of different MS Access databases, dragging in tables, crunching numbers, often failing at various points, and hopefully pushing out more tables to be handled by some other broke ass bitch Access database.
MS Access basically lowered the bar enough for an unskilled worker with no sense of perspective on his abilities to churn out a liability to the company that is probably still in operation today.
They should have just used a few professionals to turn out a well designed system instead.
Is now a good time to admit that I learnt BASIC programming from a book titled "Teach Yourself BASIC in 8 Hours" or something very much like that? To be fair, it was sometime around 1980 and you really could learn BASIC in that amount of time, with change left over to learn fun memory locations to PEEK and POKE. I was writing my own games before I made it to the end of the book.
You can learn Lua in under 8 hours, but really, that's just the syntax - the hard part of learning any language is learning it's libraries and good programming standards for that language. Lua is generally embedded, so you'd need to learn how to call into the host system and what calls it provides.
You can't learn how to build a highly optimised, always available, secure e-commerce trading platform in 8 hours.
I guess the underlying issue is that you can learn how to program and achieve modest things in a short period of time, but some people expect to be able to engineer vastly complex software with just a few hours of effort into the craft, and that's just insane.
People's expectations exceed their abilities to deal with complexity; therefore, they need to either scale back their expectations and learn to deal with and reduce complexity.
Skip the Pi and get a WD MyBook Live instead http://www.wdc.com/en/products.... It's got 1gbit networking, 1-4TB sized hard drives, a power PC processor and runs Linux. Mine has been slurping torrents off the net happily for the last 6 months. These cost a little more than the same sized hard drive with only USB3 but more than make up for it with utility and speed. You can run a web server on them, they have one installed already in fact.
I tried using a Pi for NAS but it was let down massively by the slow 100mbit networking and the way it shared that connector with the USB (which had the attached external hard drive). It was only able to push about 30mbit in one direction and 60mbit in another - and let me tell you, transferring a bunch of 2GB video files at 6MB/s is not a lot of fun.
I replaced it with a WD MyBook Live - which has a Power PC processor and 1gbs network connector. The MyBook Live runs Linux making it easy for me to add Transmission and BTSync to it. Potentially I could also load up Git, SVN, or a host of other Linux software.
I can transfer files back and forth at approximately 700mbit/s (70 MB/s), over 10 times the speed of the Rapsberry Pi. It supports SMB, NFS and Apple iTunes shares out the box, so works great with XBMC.
The drive cost me $50 more for a 3TB unit that a regular 3TB USB3 drive - which is on par with the cost of a Raspberry Pi and a drive of the same size.
The Pi is great for a lot of things, but a NAS is not one of them.
Google's other baby, Go has done quite well in some benchmarks too, despite having a pretty simple / inefficient garbage collector. For those of use who shudder a little at the thought of JS on the server, Go serves a good niche.
Non-techies should stay the fuck away from any website that is not just a collection of HTML, pictures of cats, and flashing text. Would you ask your GP to perform gastric bypass surgery on you? Do you ask your bartender to service your car? Let the people with the right skills handle the skilled work.
"You keep using that word, I do not think it means what you think it means."
The word you are after is deprecated. The word you are using is generally used to mean a reduction in value over time (ask an accountant), whilst deprecated means...it's on it's death throes right now, stop using it.
The male members, which I'm sure is going to be pretty well represented at Mensa, is far better off joining a local yoga club if they want a chance at love ^.^ The females just need to go to a bar.
If you really want to learn to program games, start with Lua instead of C# or C++. It's a tiny little scripting language that can be learnt in a few hours and is used by an enormous number of game development companies. Lua is often tasked with providing a UI for the game, logic flow, rapid prototyping of features, anything really except for the critical loops - which are all handled in C++.
Once you have Lua under your belt you should learn C++, because at the heart this is what all performance sensitive games are written in. The game engine will be a mess of tight, sometimes obscure C++. If you want to make changes that are at that level then you absolutely need to be able to write C++.
Finally, think about learning C# if it's supported by the game engine you have chosen to use for your game. It should perform about the same speed as the Lua code and it's used for the same tasks - game logic, etc.
Since you're a beginner, I'd recommend you go with either Unity or Unreal Engine as these are both easier to learn and have a lot more community support. Unreal Engine now comes with the complete source code in C++, so you can take a solid look under the hood and see what's happening in there. CryEngine is moving towards releasing more of their source code, but are not there yet.
Really your first question should be which language to learn, but which engine to learn. The engine will dictate which languages you need to learn from there.
" I doubt you could write a balls-to-the-wall Crysis-like shooter in C#, but I don't imagine there'd be any performance-related reason you couldn't write an RTS in C# and have it run just fine on any machine not so old that its OS wouldn't support the.net framework anyway."
You might be surprised to discover you are completely wrong on this account. I'm currently write a game using the CryEngine 3. The code comes as a mix of C++, Lua and Flowgraph (a graphing system that allows rapid prototyping). There's an example implementation using the engine which is a complete FPS game, and that is a mix of all three languages. The hardcore stuff is done in c++ and access is provided to this through script binding for Lua and other means for Flowgraph.
There is also a working implementation of Mono (c#) which can be added to the system. Several teams are using that to produce various games using CryEngine.
Of course, the rendering, and main guts of the system is all nasty looking, balls to the wall c++, but a large amount of the game logic, AI, character handling, and the like is all in Lua, a simple scripting language.
I won't post about boys vs girls in this post, that's not what's salient. What matters is temperament.
I used to work for the company that supplied the London Stock Exchange with internet services. They would tell us what they wanted, and we would make that appear on the internet for them. This was around 2001, a difficult time for any company providing internet services, particularly those who supplied the top 1%. We built a lot of software for them, fast, and brilliant.
I had a pool of about 8 people I could call on to create any project. Five of those eight people were males, typical males. We drank down the pup together, yelled, expressed our innermost feelings, fought, cheered, and did what males do together in the pub. The other three were women with social responsibilities, children, spouses and the like to watch after and almost never came to the pub.
Many of the males were what you might call brilliant, and some, genius. We hired well. But when assigning a project I would never place two or more of these "genius" males on it because they would, for sure, fuck it right up. The women, although they would never be recognised as genius provided something essential, temperament.
I would always assign one or more of the females, whoever had the temperament to reign in the and counterbalance the males on the project. Without them, the males tended to do a "half assed job" or worse. With the females, together, they put out excellent code.
Now, this isn't based on sex, though it is frequently divided along sexual lines, but rather the approach to code and work.
I for one support more "women" in CS, whether they are male, female or somewhere on the spectrum. Balance is greater than genius.
I use 3 x 24 inch 120hz monitors. The source code goes on my middle screen, the right screen has a browser open to whatever information I need to be looking at while writing the code and the other monitor usually has a mix of things open e.g. another copy of VS 2013 with another (dependant or co-related) solution open to the code I need to be viewing, designer screens parts of the game (when running the editor for that), etc.
My three screens have a combined resolution of roughly 6000 x 1080, allow me to have three separate apps running windowed fullscreen, and can do so at a refresh rate of 120 hz. Even better, I don't get a crick in my neck from looking up and down all the time. I can simply rotate a little in my chair if I need to give one of the side monitors most of my attention for a while.
You're dead-weight. If you haven't bothered to learn any new languages since C, Bash and Lisp were the kings you don't have the chops, initiative or motivation to learn anything relevant today. You gave up decades ago, time to lie down and die now.
Maybe I'm getting old, but a 24" monitor running 1080p about 40cm frrom my face seems pretty damn good. About as good as I will ever need. My eyesight is not likely to improve, and despite the fact it is pretty good for me age, I don't really see any gains to be had from doubling the resolution of my monitors (x3).
I'm the sort of guy who buys the 42" TV because...he knows he can just fucking sit a few feet closer to it if he wants the pixels and screen to appear larger!
The day I need a 4k monitor for programming is the day I need neckstrain from looking up, down and all around.
I would take the complete lack of sound from a monitor over the fucking awful shite that passes for sound on TV speakers any day. Save me $2 and don't include the speakers thanks.
Inuit, not Eskimoes as you put it, don't have 50-100 different words for snow. There are many references for this, but one should suffice. http://curiosity.discovery.com...
It sounds like you don't really have 15 years experience. You have a few years experience that you've been repeating over the last 15 years. You also tend to sound more like a scripter than a programmer (not that there's anything wrong with that!). Becoming a fully fledged programmer would therefore be the next step for you, and you could certainly take it, but I doubt you will. You are lacking one or more of these:
* confidence * direction * motivation
Learning ability is not likely to be the issue, it's the lack of desire to learn that is at the root.
Find something you are really passionate about and make that happen using whatever tools are considered the best in that domain. Many older programmers unwind and expand by writing games or personal projects that scratch their itch. Find something that interests you and get coding.
Personally, I'm working on a pair of games right now. One with a team (8-16 month duration), and one that will take the next few years of my life which I am starting work on solo. They give me reason to fire up the compilers, read the docs and flex my chops.
If you're using a half decent receiver then it likely has a setting called 'Dynamics' or 'Dynamic Range' or similar. Just switch this down from full range to something a little more appropriate for your house. It does the same job as all the expensive external compressors that people are saying you should buy; you just don't get the same level of control. That said, you don't really need it either, you're not mastering an album - just trying to watch some TV.
It was in use before that. Actually Apple itself used in on their iPod nano devices with a physical slide to lock the controls. Slide to unlock is just the digital analogue of something that existed well before Apple got it's filthy lawyers all over it.
There is no innovation here. Only a digital equivalent of an analog analogue.
"Many people including some "idiots off the street" seems to have wound up capable of bodging something really nasty together with exel and possibly powerpoint. Like it or not, that is programming."
The worst crimes I've seen were committed with MS Access. One of the accountants decided he suddenly had programming chops and took it on himself to slap together the most god awful mess of half assed end of month reporting procedures. Once the mainframes had done their work we used to have to get in at 7AM and start the EOM processing on the PCs, consisting of dozens of different MS Access databases, dragging in tables, crunching numbers, often failing at various points, and hopefully pushing out more tables to be handled by some other broke ass bitch Access database.
MS Access basically lowered the bar enough for an unskilled worker with no sense of perspective on his abilities to churn out a liability to the company that is probably still in operation today.
They should have just used a few professionals to turn out a well designed system instead.
Is now a good time to admit that I learnt BASIC programming from a book titled "Teach Yourself BASIC in 8 Hours" or something very much like that? To be fair, it was sometime around 1980 and you really could learn BASIC in that amount of time, with change left over to learn fun memory locations to PEEK and POKE. I was writing my own games before I made it to the end of the book.
You can learn Lua in under 8 hours, but really, that's just the syntax - the hard part of learning any language is learning it's libraries and good programming standards for that language. Lua is generally embedded, so you'd need to learn how to call into the host system and what calls it provides.
You can't learn how to build a highly optimised, always available, secure e-commerce trading platform in 8 hours.
I guess the underlying issue is that you can learn how to program and achieve modest things in a short period of time, but some people expect to be able to engineer vastly complex software with just a few hours of effort into the craft, and that's just insane.
People's expectations exceed their abilities to deal with complexity; therefore, they need to either scale back their expectations and learn to deal with and reduce complexity.
Skip the Pi and get a WD MyBook Live instead http://www.wdc.com/en/products.... It's got 1gbit networking, 1-4TB sized hard drives, a power PC processor and runs Linux. Mine has been slurping torrents off the net happily for the last 6 months. These cost a little more than the same sized hard drive with only USB3 but more than make up for it with utility and speed. You can run a web server on them, they have one installed already in fact.
I tried using a Pi for NAS but it was let down massively by the slow 100mbit networking and the way it shared that connector with the USB (which had the attached external hard drive). It was only able to push about 30mbit in one direction and 60mbit in another - and let me tell you, transferring a bunch of 2GB video files at 6MB/s is not a lot of fun.
I replaced it with a WD MyBook Live - which has a Power PC processor and 1gbs network connector. The MyBook Live runs Linux making it easy for me to add Transmission and BTSync to it. Potentially I could also load up Git, SVN, or a host of other Linux software.
I can transfer files back and forth at approximately 700mbit/s (70 MB/s), over 10 times the speed of the Rapsberry Pi. It supports SMB, NFS and Apple iTunes shares out the box, so works great with XBMC.
The drive cost me $50 more for a 3TB unit that a regular 3TB USB3 drive - which is on par with the cost of a Raspberry Pi and a drive of the same size.
The Pi is great for a lot of things, but a NAS is not one of them.
Google's other baby, Go has done quite well in some benchmarks too, despite having a pretty simple / inefficient garbage collector. For those of use who shudder a little at the thought of JS on the server, Go serves a good niche.
Non-techies should stay the fuck away from any website that is not just a collection of HTML, pictures of cats, and flashing text. Would you ask your GP to perform gastric bypass surgery on you? Do you ask your bartender to service your car? Let the people with the right skills handle the skilled work.
Depreciated...
"You keep using that word, I do not think it means what you think it means."
The word you are after is deprecated. The word you are using is generally used to mean a reduction in value over time (ask an accountant), whilst deprecated means...it's on it's death throes right now, stop using it.
The male members, which I'm sure is going to be pretty well represented at Mensa, is far better off joining a local yoga club if they want a chance at love ^.^ The females just need to go to a bar.
Better off putting it in the bottled water and whiskey instead. Those wankers wouldn't lower themselves far enough to drink tap water.
Spot on.
If you really want to learn to program games, start with Lua instead of C# or C++. It's a tiny little scripting language that can be learnt in a few hours and is used by an enormous number of game development companies. Lua is often tasked with providing a UI for the game, logic flow, rapid prototyping of features, anything really except for the critical loops - which are all handled in C++.
Once you have Lua under your belt you should learn C++, because at the heart this is what all performance sensitive games are written in. The game engine will be a mess of tight, sometimes obscure C++. If you want to make changes that are at that level then you absolutely need to be able to write C++.
Finally, think about learning C# if it's supported by the game engine you have chosen to use for your game. It should perform about the same speed as the Lua code and it's used for the same tasks - game logic, etc.
Since you're a beginner, I'd recommend you go with either Unity or Unreal Engine as these are both easier to learn and have a lot more community support. Unreal Engine now comes with the complete source code in C++, so you can take a solid look under the hood and see what's happening in there. CryEngine is moving towards releasing more of their source code, but are not there yet.
Really your first question should be which language to learn, but which engine to learn. The engine will dictate which languages you need to learn from there.
" I doubt you could write a balls-to-the-wall Crysis-like shooter in C#, but I don't imagine there'd be any performance-related reason you couldn't write an RTS in C# and have it run just fine on any machine not so old that its OS wouldn't support the .net framework anyway."
You might be surprised to discover you are completely wrong on this account. I'm currently write a game using the CryEngine 3. The code comes as a mix of C++, Lua and Flowgraph (a graphing system that allows rapid prototyping). There's an example implementation using the engine which is a complete FPS game, and that is a mix of all three languages. The hardcore stuff is done in c++ and access is provided to this through script binding for Lua and other means for Flowgraph.
There is also a working implementation of Mono (c#) which can be added to the system. Several teams are using that to produce various games using CryEngine.
Of course, the rendering, and main guts of the system is all nasty looking, balls to the wall c++, but a large amount of the game logic, AI, character handling, and the like is all in Lua, a simple scripting language.
I won't post about boys vs girls in this post, that's not what's salient. What matters is temperament.
I used to work for the company that supplied the London Stock Exchange with internet services. They would tell us what they wanted, and we would make that appear on the internet for them. This was around 2001, a difficult time for any company providing internet services, particularly those who supplied the top 1%. We built a lot of software for them, fast, and brilliant.
I had a pool of about 8 people I could call on to create any project. Five of those eight people were males, typical males. We drank down the pup together, yelled, expressed our innermost feelings, fought, cheered, and did what males do together in the pub. The other three were women with social responsibilities, children, spouses and the like to watch after and almost never came to the pub.
Many of the males were what you might call brilliant, and some, genius. We hired well. But when assigning a project I would never place two or more of these "genius" males on it because they would, for sure, fuck it right up. The women, although they would never be recognised as genius provided something essential, temperament.
I would always assign one or more of the females, whoever had the temperament to reign in the and counterbalance the males on the project. Without them, the males tended to do a "half assed job" or worse. With the females, together, they put out excellent code.
Now, this isn't based on sex, though it is frequently divided along sexual lines, but rather the approach to code and work.
I for one support more "women" in CS, whether they are male, female or somewhere on the spectrum. Balance is greater than genius.
I use 3 x 24 inch 120hz monitors. The source code goes on my middle screen, the right screen has a browser open to whatever information I need to be looking at while writing the code and the other monitor usually has a mix of things open e.g. another copy of VS 2013 with another (dependant or co-related) solution open to the code I need to be viewing, designer screens parts of the game (when running the editor for that), etc.
My three screens have a combined resolution of roughly 6000 x 1080, allow me to have three separate apps running windowed fullscreen, and can do so at a refresh rate of 120 hz. Even better, I don't get a crick in my neck from looking up and down all the time. I can simply rotate a little in my chair if I need to give one of the side monitors most of my attention for a while.
You can learn LUA pretty damn quick.
You're dead-weight. If you haven't bothered to learn any new languages since C, Bash and Lisp were the kings you don't have the chops, initiative or motivation to learn anything relevant today. You gave up decades ago, time to lie down and die now.
Maybe I'm getting old, but a 24" monitor running 1080p about 40cm frrom my face seems pretty damn good. About as good as I will ever need. My eyesight is not likely to improve, and despite the fact it is pretty good for me age, I don't really see any gains to be had from doubling the resolution of my monitors (x3).
I'm the sort of guy who buys the 42" TV because...he knows he can just fucking sit a few feet closer to it if he wants the pixels and screen to appear larger!
The day I need a 4k monitor for programming is the day I need neckstrain from looking up, down and all around.
I would take the complete lack of sound from a monitor over the fucking awful shite that passes for sound on TV speakers any day. Save me $2 and don't include the speakers thanks.
The problem is not with calling memcpy, it's calling it without sanitising or knowing the extents to which it needs to be bound.
Inuit, not Eskimoes as you put it, don't have 50-100 different words for snow. There are many references for this, but one should suffice. http://curiosity.discovery.com...
Don't be confused by the nice guys girls like to spend their time with, and the arseholes they end up fucking in the back alley.
And for the brave, formatting their SSSD disks as DSDD.
It sounds like you don't really have 15 years experience. You have a few years experience that you've been repeating over the last 15 years. You also tend to sound more like a scripter than a programmer (not that there's anything wrong with that!). Becoming a fully fledged programmer would therefore be the next step for you, and you could certainly take it, but I doubt you will. You are lacking one or more of these:
* confidence
* direction
* motivation
Learning ability is not likely to be the issue, it's the lack of desire to learn that is at the root.
Find something you are really passionate about and make that happen using whatever tools are considered the best in that domain. Many older programmers unwind and expand by writing games or personal projects that scratch their itch. Find something that interests you and get coding.
Personally, I'm working on a pair of games right now. One with a team (8-16 month duration), and one that will take the next few years of my life which I am starting work on solo. They give me reason to fire up the compilers, read the docs and flex my chops.
If you're using a half decent receiver then it likely has a setting called 'Dynamics' or 'Dynamic Range' or similar. Just switch this down from full range to something a little more appropriate for your house. It does the same job as all the expensive external compressors that people are saying you should buy; you just don't get the same level of control. That said, you don't really need it either, you're not mastering an album - just trying to watch some TV.
It was in use before that. Actually Apple itself used in on their iPod nano devices with a physical slide to lock the controls. Slide to unlock is just the digital analogue of something that existed well before Apple got it's filthy lawyers all over it.
There is no innovation here. Only a digital equivalent of an analog analogue.