|
Perfect !
Thank you very much for read and give your feedback.
Regards,
Rocha, Renato
|
|
|
|
|
Read this.[^]
A lot of it is applicable to what an article for an OS project should contain as well.
Marc
|
|
|
|
|
Good literature
Thank you !
|
|
|
|
|
If you write installers or applications that flash and twittle you must be punished.
Says one of many that has to access VM's remotely over a limited bandwidth connection.
Please turn your self in for punishment.
|
|
|
|
|
Eggbert Bartholomew Bligh wrote: If you write installers
Ah I'm safe then, internal apps using clickonce are a blessing.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Bandwidth is not something most of us even account for these days...isn't it unlimited, like everything else...memory, disk space? (sarcasm) As for installers, my gripe is against those who create installers with the kitchen sink thrown in for good measure...using merge modules for third party libraries with everything selected! I have a current situation with another vendor where we use almost the same version of a popular reporting package. We went through a lot of effort to include only the libraries needed (only a dozen or so) with our installer. The other company installs the whole shebang...hundreds of dlls that they don't even utilize! The problem is that the mere presence a particular file of a particular version (naturally, the one that they install) causes reports in our software to crash intermittently...no pattern. Research shows that this rogue library gets called into memory by some (so far) unknown process. Removing the file on the client caused their installer to go into a tizzy and replace it anyway. I wrote a special installer to update the library to a reliable version. Problem solved. Our reports work OK, their reports work OK. Until...they release a software update. Apparently, their installer replaces the newer library with the old flaky version. ...which leads to another support call, and simply replacing that file again. The bad news is that about 35% of my customers use their product. It's hard to convince a customer that your program is crashing because of an update they did to another program.
"Go forth into the source" - Neal Morse
|
|
|
|
|
My wee teenage son has only been interested in games etc, but recently school has introduced him to scratch. He has enjoyed playing with it, but when I looked at it, it appeared to be a bit simplistic.
My background .Net and I have my prejudices but I'm wondering what other peoples opinions are on a easy to learn professional language for someone interested in games and animation (now thats outside my expertise)
I'm trying to put my prejudices at door and would appreciate some balanced thoughts. Thanks
|
|
|
|
|
inb4 flamewar
RossMW wrote: easy to learn professional language Does that even exist?
Anyway if he's serious about it and you like .NET.. maybe Unity? No "toy language for noobs" nonsense, serious business, usable result.
|
|
|
|
|
Send him to MIT to learn Python.
|
|
|
|
|
MIT or our equivalent is still years away. I was after something as an introduction. If he wants to pursue later he will no doubt pick his own path
|
|
|
|
|
|
My son (year 9 this year) was using Scratch previously, but the last assignment he had to hand in was using GameMaker from http://yoyogames.com/[^]
Hope that helps.
|
|
|
|
|
I would recommend three.js[^], he will learn 3d games programming and Javascript, best of both worlds
|
|
|
|
|
I think Scratch is brilliant!
I helped my niece with some homework and while it may seem a bit simple it is a very good introduction to programming.
I was able to create a game and it was really not too different from writing something similar in .Net except it has a much more graphical interface to it.
Yes it has fewer libraries and functions, however despite that I think it is as decent if not better than the ZX Spectrum and BBC Micro Basic I grew up programming.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Why not use .Net and start with little console application in VB/C# that can take input and solve math homework problems.
"Go forth into the source" - Neal Morse
|
|
|
|
|
I've been running a coder-dojo for the past three weeks, and it's interesting to see the different levels of kids using it (and other options). FWIW here's my take
First - here are 5 other sites that use similar techniques to teach coding:
Learn with Angry Bird
http://learn.code.org/hoc/1[^]
LightBot - a little harder!
http://light-bot.com/hocflash.html[^]
Code Combat - learn Javascript
http://codecombat.com/play/level/rescue-mission[^]
Code academy - learn Javascript
http://www.codecademy.com/courses/hour-of-code/0/1[^]
CodeAvengers - learn Javascript
http://www.codeavengers.com/javascript/17#1.1[^]
These are all great introductions, though a little less 'open' than Scratch (i.e. they tend to use small pieces of code to perform small tasks- building upon previous tasks, and do it as part of a game format)
Kids using scratch for a few hours tend to come out with the "I know Scratch now, what's next". Really they've just scratched the surface (intended). Often they will have done an animation with maybe a couple of characters - sometimes with some minor interaction - but nothing more. They won't use variables by themselves and will sometimes delete huge swathes of code when something doesn't work rather than keep trying.
So they need help and encouragement (which is exactly what happens at a Dojo!).
Sure, scratch is a bit simplistic - but it is much less scary than a 'real' language - but if HE is bored with it, then I would recommend one of the other links (in increasing order of difficulty) for him to look at.
The other thing to look at is what HE wants to program?
If he is capable of doing complex stuff in any of the above, or Scratch, then you might tempt him with using ScriptCraft for Minecraft - which is a Javascript Mod to the Minecraft Bukkit server that allows you to write javascript mods to Minecraft.
When I casually asked a room full of about 35 kids (from 5 to 16) if they would be interested in looking at some Minecraft Modding i was nearly deafened by the response - kids are addicted and will have enormous kudos if they can write a mod.
Of course there are other approaches - you could teach 'em Java or C# or VB .Net or almost anything - but this isn't school - it's letting them explore and do something they want to do outside of the classroom - so instant gratification is king! these online tools will help them develop "computational thinking" and understand the syntax of a language, with which they can achieve something for themselves.
Many of the kids also want to do web pages - so Javascript is really useful when they start looking at that side of things.
Finally, as I have waffled long enough on a subject about which I am passionate, Scratch, while looking simplistic to the experienced developer, really does teach these kids the concepts without them realising it - and that is great. Push them to do bigger and better stuff in Scratch and, when they are ready, they can apply those concepts to any language.
And this from someone who taught himself Basic on the Commodore Pet so that I could write an Assembler program to enable me to write in assembler on the Pet. tell the kids of today, and they won't believe you
PooperPig - Coming Soon
|
|
|
|
|
Many thanks for everyone responses there certainly a lot for my son and I the investigate. Much appreciated..
|
|
|
|
|
I don't have any sensible suggestions for a first language really (although Logo used to be popular). I just wanted to make the point that the important thing is to learn the principles of program development (no matter how basic to start with) rather than get hooked on a particular language or dev environment. Any of the 'big' dev environments like .Net, Java, etc are in themselves quite complex beasts, and are often surrounded either by even more complex tools and/or require knowledge of complex libraries or frameworks to use effectively.
Those of us who started before all these things (I began with FORTRAN IV on paper coding sheets, then Algol 68R and assembler FFS!) forget that to someone who doesn't even have a basic understanding of how the hardware works, this is all just a mass of detail that obscures what you are really trying to achieve: bend the machine to your will!
So, my advice: find something that can produce a working application without needing to learn either complex editors/IDEs or libraries/frameworks: stick with that until the core principles of problem-solving and control of the hardware start to sink in; then introduce the complexity gradually. Try to find something relevant to do, whether it's a game, controlling a device, solving puzzles or whatever - something the learner can relate to in their lives.
It wasn't until I realised that the development process has (with the exception of DSLs) NOTHING to do with the language and framework you are building with, that I started to really feel productive.
YMMV of course!
|
|
|
|
|
If your son's interested in games, definitely use that to your advantage. I got into software development because of my love of games. My first language was Dark Basic, a Basic derivative for game prototyping. I loved it.
Get him a physical book. Online tutorials are great and all but physical media can really help you focus. He can take it to school and reed it in his down time, he can pick it up if the internet goes out, he can read it on the toilet, whatever lol. Unity, as someone else mentioned, is a pretty good choice though it may be a bit complex for someone just starting out. Gamemaker would teach your son more about game development, than it would programming but it's not a bad choice.
I always recommended to my friends growing up that they try to make a text based game as their first goal; that way you don't have to learn any graphics, sound, controller, etc apis. It's just simple logic and prints to a console. Could be a number guessing game, or a full blow text-based rpg. I'd recommend anything with console support (which is just about every language.) Python has console support, he could take that project and use pygame to turn it into something more later on. C# has console support and it's used to back Unity programming, so it would be relevant for him to learn. If he's interested in animations, flash is still a thing I hear lol.
Those are my recommendations.
|
|
|
|
|
With HTML5 making JS functional is a fully-fledged language, why not start him out there? The nice thing about HTML/JS is that it can start very simply and become something so much more very quickly.
|
|
|
|
|
Ross,
I think adding more languages too quickly is a pain.
If he and his friends use scratch, then encourage him to write other programs in scratch.
Show him how to find, download run, and MODIFY someone elses code.
I offer my teen daughter a "bounty" (others call it a bribe), to pickup skills that are
on the "cusp" of her interest. (She did the online MSFT Excel training and made some cash
over the summer. She does not get an allowance, which encourages bounty seeking!).
Anyways, the thing that OPENED the door for my development was realizing I could start
with someone elses work and make it better... I started adding back doors to PDP/11 programs
while in high school, fake login programs to steal passwords (which apparently can be done on
Android devices... Everything old is new again)...
|
|
|
|
|
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student's first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.
http://www.alice.org/index.php[^]
And as a teenager, he might like:
Blender is a free and open source 3D animation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. Advanced users employ Blender’s API for Python scripting to customize the application and write specialized tools; often these are included in Blender’s future releases. Blender is well suited to individuals and small studios who benefit from its unified pipeline and responsive development process.
http://www.blender.org/[^]
modified 25-Aug-14 17:42pm.
|
|
|
|
|
I've always recommended C (not C++) as a starter language for a couple of reasons:
- You learn to think about what's under the hood from the start. If you go the other way around you may get into some vices that are heard to unlearn.
- Once you get up to speed with C, other languages are easy to learn, plus you get the benefits of high level programming with the knowledge of knowing what's going on under the hood. That makes a lot of difference on writing good software.
- Eventually, if he is serious about game programming, the odds are that he is gonna hit C++. Either himself or with an employer. That will make it much easier for him.
Having said all that, the C language is a challenge for most teenagers, but you will not know if he can handle it if he does not try. Maybe it will feel natural to him and if he does, well, he will have a brilliant future in programming.
To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson
----
Our heads are round so our thoughts can change direction - Francis Picabia
|
|
|
|
|
I started out with similar intentions when I first picked up C# about 7~ years ago.
I started with the XNA Framework from Microsoft making simple PC games. It introduced me to some common problems and practices that are encountered in developing video games.
After that, my job called for some in-house tools to be developed, and my knowledge of the language expanded to meet it. I started out with a program that scrapes files from a folder and emails them. My most recent project being more complex; an automatic update program that first checks for updates to itself, then loads and executes an assembly of update procedures for our flagship software.
I guess an example of this would be my ACLib project at github, which was intended to expand on the native Windows console and add some functionality more appropriate for ASCII based video games. This is one result of my interests in video games and my collected knowledge on C#, and a weekend's worth of work.
I've also used things like Unity, but I feel like they abstract too far away from letting you use C# to build a game, and instead they try to force you into their own little system of how things work. It chokes out the strengths of C# as a language by funneling you through their own libraries and ambiguously defined 'magic' methods.
I am by no means in the leagues with some of the fine folk here on CP, but I feel that the path I've chosen has prepared me well enough to pick up a legitimate job developing software and I can only recommend anyone young and willing to do the same, especially if they have the free time.
|
|
|
|
|
|