We'd like to remind Forumites to please avoid political debate on the Forum... Read More »
We're aware that some users are experiencing technical issues which the team are working to resolve. See the Community Noticeboard for more info. Thank you for your patience.
📨 Have you signed up to the Forum's new Email Digest yet? Get a selection of trending threads sent straight to your inbox daily, weekly or monthly!
Best Beginner Programming Language?
Options
Comments
-
. I think it'll be a genuinely useful exercise for you (for anyone) to try as you'll either enjoy trying to stop the robot from pouring a pint of boiling water into a half-pint mug, or the exercise will annoy you as irrelevant, but either way you'll learn if programming is for you!
If your robot is programmed in 'C' it will let you pour a pint of water into a half-pint mug. If it's programmed in Visual Basic (or any other interpreted language I've met) it will throw a runtime error of some kind and stop until you come along and manually do something about it, either by providing a larger mug or telling it to pour less.
For this reason 'C' is the correct answer. Neither the compiler nor the interpreter (if an interpreted / scripting language) should care whether I tell it to put more water into the mug than it is designed to hold. I might be doing it deliberately. I might be so familiar with the specific kitchen that I want the robot to make the tea in that I know what the consequences of overfilling the mug will be and I want those things to occur, as the robot will only be used in that kitchen - the compiler or interpreter should not assume that I don't know what I'm doing, provided I give a syntactically correct instruction.
Not everyone is trying to design a tea making robot that will work in every kitchen with every kettle and every mug.
I realise this is not a widely held opinion.Proud member of the wokerati, though I don't eat tofu.Home is where my books are.Solar PV 5.2kWp system, SE facing, >1% shading, installed March 2019.Mortgage free July 20230 -
onomatopoeia99 wrote: »If your robot is programmed in 'C' it will let you pour a pint of water into a half-pint mug.
I might be doing it deliberately. I might be so familiar with the specific kitchen that I want the robot to make the tea in that I know what the consequences of overfilling the mug will be and I want those things to occur
Indeed, it's very helpful for those days when you want it to mop the floor afterwards ;-)0 -
Indeed, it's very helpful for those days when you want it to mop the floor afterwards ;-)
Just to clarify for the OP (although you're probably all over it already), this is a perfect example of the analogy working well. Sometimes you want a robot to only make weak tea in your own kitchen and will never move house. Sometimes you might want it to offer a choice of tea strength, or a choice of peppermint, chamomile or normality. Maybe to be able to walk (roll?) into any kitchen, find the kettle, negotiate the myriad different lid fittings, interpret from the tap colour and configuration which is the cold tap, assess the water flow rate and adjust the fill-time accordingly...
In the latter case, it's a bigger deal to programme it correctly to handle all eventualities, and is probably unnecessary if it will only ever use your own kitchen and kettle and teabags. This happens ALL THE TIME in programming scenarios, there's a playoff between making code that will solve the general case of 'make tea' on all computers, and solving a specific case of the analogue world being a heap of bodges and approximations to solve for a specific case. Knowing which to choose when and why is a part of the art that comes with experience :-)0 -
There is a good article here that you might want to read before making any decisions:
http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/Science isn't exact, it's only confidence within limits.0 -
I think there's two ways people get in to programming, the people who say "I'm going to learn how to program" one day and start learning, and the people who just kind of find themselves doing it at some point as the system they're using eventually led to it - like BBC basic (my first language) and for a more modern example, Bash scripts in Linux. Both paths are valuable and can work, but whichever you take, I think being led by your needs is always more efficient. This I think is why I never really leant programming with courses, they were interesting, but contained so much stuff I didn't imagine myself ever using. I've learnt much more by having an idea and setting out to make it work. I don't have the breadth of knowledge some people have, but I have found a way to do everything I've needed so far, and can learn new things when I need.
I think what I'm saying is focus on your project needs, as it's possible to get lost in learning and spend a lot of energy learning things you may never need to know.0 -
These C# videos are fantastic for beginners.
c# tutorial for beginners
https://www.youtube.com/playlist?list=PLAC325451207E31050 -
My boy got into Java quite easily - there are online integrated development environments you can use.
The thing about Java is that it grew from C++, which grew from C; that's a family tree which covers a lot of other languages too.0 -
when i was growing up, c was frowned upon for allowing 'sloppy' structure.
On various courses, it was dear old pascal and modula2.
HTML is not, nor never will be a programming language.
If I remember rightly; sequence, selection and repetition are the basis of coding.
And what happened to the systems analysis bit where you specify the object of the programming? As much a skill as the latter when you look at the millions/billions spent by governments on incorrectly specified computer systems.
I'd imagine databases, normalisation and SQL should be part of any portfolio of anyone who wanted to do software for a living. Comes in handy all the bloody time.
Leave me alone. I'm just a grumpy old man..
Addendum. Rarely will you write anything that uses only a single language. If it's internet based, you'll have markup languages (HTML, CSS), programming languages, and those third party languages that the likes of Google APIs and Facebook throw at you.0 -
(Javascript is also based on Java, which traces its roots back to C.)0
-
when i was growing up, c was frowned upon for allowing 'sloppy' structure.
On various courses, it was dear old pascal and modula2.
HTML is not, nor never will be a programming language.
If I remember rightly; sequence, selection and repetition are the basis of coding.
And what happened to the systems analysis bit where you specify the object of the programming? As much a skill as the latter when you look at the millions/billions spent by governments on incorrectly specified computer systems.
I'd imagine databases, normalisation and SQL should be part of any portfolio of anyone who wanted to do software for a living. Comes in handy all the bloody time.
Leave me alone. I'm just a grumpy old man..
Addendum. Rarely will you write anything that uses only a single language. If it's internet based, you'll have markup languages (HTML, CSS), programming languages, and those third party languages that the likes of Google APIs and Facebook throw at you.
I have been involved in Govt systems.
We would turn up, a small team, to the meetings while the Govt department, lets call them the NHS, would turn up mob handed. Each and every one of them would have a personal agenda.
At the next meeting we would turn up, same people, and this time with the exception of a small number of regulars, a completely different bunch of them would turn up, again each with their own agenda. If asked where the previous people were we'd be told it was someone elses turn for a day out of the office. :eek:
They would then spend an age going through the last meeting minutes arguing and changing the stuff that didn't fit with their agenda and so it went on and on and on.
I was at my local hospital recently for some tests and despite the money, systems and hard work there are still people pushing huge trolleys of paperwork about.
It's enough to make you weep and is it any wonder that some of the companies involved walked away.One by one the penguins are slowly stealing my sanity.0
This discussion has been closed.
Confirm your email address to Create Threads and Reply

Categories
- All Categories
- 350.8K Banking & Borrowing
- 253.1K Reduce Debt & Boost Income
- 453.5K Spending & Discounts
- 243.8K Work, Benefits & Business
- 598.7K Mortgages, Homes & Bills
- 176.8K Life & Family
- 257.1K Travel & Transport
- 1.5M Hobbies & Leisure
- 16.1K Discuss & Feedback
- 37.6K Read-Only Boards