Forum menu
I used to be fairly good with Spectrum Basic, although I never got the hang of Machine Code.
I know nothing about modern programming. I've heard names like C+ and Perl, but wouldn't know where to start.
Thinking about DrDomRob's idea here, http://www.singletrackworld.com/forum/topic/monitoring-components I'd be interested in collaborating if possible.
Is there a sort of Windows Basic with simple "If x<y Then Goto z" commands or would I be better off just learning how to do it on a spreadsheet ?
Visual Basic is similar to that idea, pretty simple to pick up. I'm using it a fair bit these days to do a lot in Excel
Why not write some image recognition AI software which has a large learning set, so everyone takes a picture of their components and adds it to a database, when the component finally breaks, they add this to the learning set. So the app can take can take a pic of a component, compare it to its learning set and predict how long it will be before that component fails.
Yes there is. Check out python...
1. Free!
2. Interpreted; so no compiling.
3. Easy syntax and very powerful high level language.
On the negatives, it's more a scripting type language so GUIs etc not straightforward immediately.
If you want to dive into GUIs immediately, Microsoft do a free version of visual studio but not sure how good that is ( "Express" version?)
EDIT: Sorry didn't read properly with your link; python not good if you need lots of GUI interaction beyond simple command line entry.
How hard is it to learn computer programming ?
Fairly easy, but to become a good programmer is much harder.
I speak from experience, I'm a programmer, but I'm not very good! (as from monday i will be a functional systems designer)
Everything is object oriented now, so for what you're suggesting, use Excel or learn an appropriate language from scratch. "Go to" doesn't exist any more.
If you're prepared to commit the time, then start with this and work your way through the tutorials. Do all of them, don't try to launch into your own project straight away because it WILL go wrong if the last thing you used was Basic.
And try to avoid Visual Basic, and jump straight to C-sharp (****ing Apple keyboards with no hash symbol) if you can. The Express editions are all free and top quality.
Flaperon
if (mac = TRUE) {
alt+3 = #
}
EDIT : see told you I'm crap! should be
if (TRUE == mac)
> 10 PRINT "Depends on what you want to learn"
> 20 PRINT "And what you want to do with it"
> 30 GOTO 10
> RUN
Been looking for a way of putting an # in code that does not involve copying another one since I bought my Mac.
Now my Arduino programming will be much easier!
C# is the way to do it... Much easier than perl anyway
there's an awful lot of bollocks on this thread. I've been doing it for a living for 15 years now and I'm alright, but it's not easy, it's not all object oriented, but you can pick it up as a hobby
Python is a good place to start. There are several good GUI toolkits if you want to build a GUI for your application.
Or Java.
Either way, consider doing everything using the Eclipse IDE.
nbt +1.
This is a job for excel- anything more is overkill and likely to lead to project failure if it's used as a learning exercise 🙂
I can't really see anything on either thread suggesting that anybody knows what they want the application to [b]do[/b]- that's your biggest problem
As others have said, really depends on what you want to achieve and to some extent on what platform ie. Windows, Unix/Linux etc.
Perl/Python/TCL are general purpose scripting languages which will will run on windows and unix. They all have a GUI capability (usually some variant of TK windowing which originally came with TCL). Scripting languages do not compling ie. you write the program and then run it without having to compile the code. Easy to learn and can cover a wide range of solutions.
There are also specific web type languages such as PHP/Javascript/Ruby. Again scripting languages but more specifically dealing with HTTP etc.
Compiled languages - C/C++/Java/C# ( i believe is compiled). Compiled languages are generally harder to learn IMO. They generally are more efficient in terms of run time and resources used but from your source code ie. the code you write you then need to run it through a compiler to generate code that can be run by the OS.
So if you are simply wanting to sort data etc. then perl/python would be a good choice. If you are looking to write a full blown application perhaps one of the compiled languages although apps have been written in scripting languages.
As someone else said, if you are going to learn a language it's pretty much standard these days for it to be OOB (Object orientated). Python is by default. Perl/TCL have extensions.
C++ is. Java is. C# don't know but would imagine it is.
Dark BAsic for gaming.
Can someone rewrite Worms+ for me 🙂 With extras weapons I want 🙂
Please 🙂
and
Oids!
See, I understood McHamish's post. 😀
The thing is, I could probably do this in Spectrum Basic.
It wouldn't be very tidy, but it would do the job.
10 If bike = lynskey And rearwheel = rohloffmavic Then Let totaldistance = totaldistance + ride, Let lynskeydistance = lynskeydistance + ride, Let rohloffmavicdistance = rohloffmavicdistance + ride
20 If bike = Lynskey And rearwheel = rohloffdtswiss etc.
So,would it be easier to learn how to do it on a spreadsheet in Open Office then ?
if midlandstrailquestgraham.wantstoget != 'very good' then
display.print 'not hard'
else
display.print 'very hard'
endif
programmers don't program any more, they just rummage around in the module bin. 😉
How hard is it to learn computer programming ?
Nigh on impossible. No room for any more programmers. 😉
Seriously though, I know I will get some trouble with the others nerds but if I were you I would use Access. You have data right there, all the controls for building a GUI available and it will be easy to learn to start with. You can scale up to pretty much as complex as you like. You can also transplant to proper systems quite easily if you get really into it.
For this project, I would start with designing the tables that you want to use and learning a bit about data, that will be the foundations of your system, get that right and the rest will come easily. Good luck!
Ditto Access would be good place to start.
Or if you want to be web based php and mysql. But you could always rebuild you Access proof of concept for the web at a later stage.
doing it 20+ years and still learning
Just like all the other threads on here, everyone has recommended what they know and dismissed everything else, so you get a hundred different answers.
Short answer is that nowadays you can do anything with pretty much any language so it doesn't matter. All will have differing learning curves, be frustrating as hell at some point, but will ultimately be more than adequate for a hobby project.
Ruby FTW by the way
Sorry I don't want to sound snotty, but I take a little issue with these remarks...
"everyone has recommended what they know and dismissed everything else"
Err no. In addition to Java and little Python, I also know C, C++ Perl, Ada and a smattering of VB. But I didn't recommend them for noobs.
"you can do anything with pretty much any language so it doesn't matter"
Really no. For example, many languages are not object oriented which may make them awkward to scale up, some lack GUI toolkits, other have no generics, some are purely functional (stateless), some are type-safe, some aren't type safe, some are space efficient, some are space hungry, some only work on Windows (urgh!), etc etc
All languages have strong and weak points. You pick the right tool for the job in hand. Now given that the Graham seems to working with Excel on Windows, I change my mind: VB would seem to be most appropriate.
Sorry again for sounding snotty. 🙂
My background's programming, but I turned my back on it a long time ago. As a sysadmin / support geek though, it's a good bowstring to have in a pinch.
"How hard is programming" is perhaps akin to "how hard is riding a bike?" Do you want to stay upright long enough to get to the corner shop on a £100 special from Go Outdoors, or do you want to be Danny MacAskill?
I'd respectfully suggest that programming as a mature career change is something you'd want to approach with caution. There are websites devoted to people who do this ([url= http://thedailywtf.com/ ]The Daily WTF[/url] is as good as any).
As a hobby, though, the world's your mollusc. For a spot of light webdev, HTML is about as easy as it gets, and then you can segue into JavaScript and such. Python is great on a number of levels, it's relatively easy and powerful. Java is ostensibly C++ with bells off. Perl is something that I really should know better. All have strengths, weaknesses, appropriate applications and learning curves. Tell us a bit more about what you're wanting to do, maybe?
recommended what they know and dismissed everything else
I haven't dismissed anything, just made a recommendation. I do know Access but haven't worked on it in 10 years, I now use anything I need to from c to c#.
Ruby balls. 😉
Excel / Access if you want a quick result.
PHP / Javascript / HTML if you want to play on the web
Java if you want to write the web
C/C++ if you want to spend your afternoons hunting pointers to null.
Fortran if you want to tell other programmers how it all used to be fields round here.
Cobol if you want to remain employable up to and beyond the day you retire.
(Caveat: I've used all these and more. Except a Cobol project. That one I managed. Lisp is just a hobby, though.)
[i]Everything is object oriented now, so for what you're suggesting, use Excel or learn an appropriate language from scratch. "Go to" doesn't exist any more.[/i]
if only 🙄
I've been doing it for a living for 22 years now & I'm still learning (a bit). Been in the same job for 10 years & no need to learn a new language from scratch - not yet anyway...
We use SB+ (system builder+) and DataBasic on a Universe database, sitting on an HP-UX platform.
Still with me?
Universe is a multidimensional database following the PICK model; not unlike your typical relational database, but then again, totally unlike it at the same time
DataBasic is, as its name suggests, a version of Basic. And yes there are still "GOTO" commands, but we do our very best to avoid them where possible
have I lost you yet?
McHamish - at what point do you stop the loop? That will go on forever
If you want in at the deep end head for whitespace. Wiki it.
Python it quite good to get to grips with the basics. You can start of with similar constructions as BASIC and move onto object orientated later on.
There are also a number of programming 'languages' designed for kids that teach the basics of programming that might be of interest. Don't laugh, some of the stuff they produce is beyond anything I could have done at that age.
Scratch is for making interactive stories, games and music projects. You drag and drop 'repeat', 'if-then-else' etc. blocks to build sequences
[url= http://scratch.mit.edu ]Scratch[/url]
Another is [url= http://yoyogames.com/gamemaker ]gamemaker[/url]
Been looking for a way of putting an # in code that does not involve copying another one since I bought my Mac.
Bah. Alt-3.
# see?
EDIT: Objective C is where it's at 😉
Why don't you do something useful and learn plumbing instead and get some running water in your house so you no longer have to buy ready washed potatoes just so you can do the washing up! 🙂
These days programming has diversified. It all depends on what you want to do.
For simple applications like this one, you can't go far wrong with MS Office based stuff. Only problem is that the VB you have to learn is an absolutely awful language and teaches you so many bad habits it doesn't transfer well to proper languages. But, once you get your head round it, being able to use Access and Excel as a base for your applications is massively useful.
It's like saying you want to make buildings. Building skills vary from putting together a shed to building a proper house to designing a skyscraper to Frank Lloyd Wright to the Petronas Tower.
When you can all code a c compiler in [url= http://en.wikipedia.org/wiki/Brain**** ]this[/url], come back and talk to me. 😉
It's like saying you want to make buildings. Building skills vary from putting together a shed to building a proper house to designing a skyscraper to Frank Lloyd Wright to the Petronas Tower.
Or put another way...
Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
(Alan Kay)
assembler - its easy and its fast and it bypass's all this new fangled front end stuff that makes it all far more complex than it really is by loading a whole load of 'concepts'.
One fetch execute cycle to rule them all.
anyway back in the real world, any programmer is only as good as his search tools to find what someone else did to fix his problem and the cut and paste.
So - did someone mention you can get a free version of Express C# ?
links please.
[url= http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express ]Visual Studio 2010 Express[/url]
Why don't you do something useful and learn plumbing instead
Do plumbers list all the tools they know how to use and/or have heated arguments about them?
Does it matter if the end result works the same?
If you're serious about BEING a programmer, find a mentor to learn the right techniques and approaches from. Learning languages is one thing, actually being a decent developer is a totally different thing. We have probably 20 developers at work and I would consider 7-8 good and most of the rest will never be good despite how long they spend working at it.
I'd suggest coming up with a goal for your programming first, then ask for advice on what would be a suitable language & tool set to use. Splitting the problem up into smaller, more manageable chunks is a good part of programming 😉
Not sure if anyone has said this but a lot of big companies outsource their IT dev offshore now. British developers generally cost at least 2X what it costs in India these days. I used to be a developer for my company. Now I am the middle manager speccing the product for the offshore team to code...
It would make more sense to get into being a Business Analyst or Project manager IMHO
00000111111100111001010101010101010010101101010101010101101010010110101010110010101010101011010100110101010101001001011010101010101010101010101010101010011001100101101001101010100101010110101001011010010110101001011001100101010101010101010101010101011010101010100100110101001101001010101010110011001101010101010010101101010101010101010101010100101010101010101011010100101010110101010101010101010110101010101010101101010101010101001010101100110010101101010100101010110100110100101101010101010001011001010101101001010
Easy Peasy
You can right very elegant, structured and object orientated code in VBA / VB - it's moved on miles from the original Basic versions. You can also hack horrible rubbish - but then you can do that in any language if you want to....
Update:
Aha! It's Ctrl-Alt-3 when running Windows through Bootcamp.
For those copying-and-pasting, have a few spare ones: #####
I've just started going down the web route myself right now, I've known html/css for quite a while..
I've a basic plan, I'm currently figuring out how to do useful stuff with Javascript and understand it so that I actually know what's going on when I start using the frameworks like jquery or whatnot, then it's onto ajax and from there i'm guessing that will lead me into the to world of php/mysql, anyhow that's my basic idea, which will no doubt change as I learn more.
Anyhow for the OP if it's web stuff you fancy this is a good site.
Compiled languages are generally harder to learn IMO
I think not.
JavaScript is weakly typed which can make it harder, C# is not and is a snap on a basic level, for example.
Visual Web Developer / SQL Express / SQL Server Management Studio are all free and fairly intuitive and can be used to build some pretty good websites, if web programming is what you are after. Access is a dreadful thing to start with if you want to be a web programmer as it is useless as a web database...
Horses for courses:
ASP.Net for web programming (and all the PHP / MySql guys will be along to flame me now!) - check out all the server controls in ASP.Net as a way to make your life easier, for example: never saw them in PHP but I am well out of date on PHP now...
JavaScript, JQuery and stuff for purely client side web programming... Never VBScript...
C# / Winforms stuff for applications development I guess.
(VB.Net is also available, but is just not as elegant as life in curly braces...) 😆
Of course any logic sequence can be created with enough NOR statements or alternatively enough NAND statements. So that's all you really need.
Depends on what you want to accomplish - some people learn programming to overcome a task, others do it for a challenge with no real objective ("I will learn how to programme a scientific calculator" "I will learn how to build an e-commerce shopping cart website").
I fall into the first category, as I work in IT.
Lost count of the number of different languages I have been required to dabble in (not in the slightest bit an expert in any of them - but enough basic knowledge to get the ball rolling with a project)
Currently doing some VBScript / WSH stuff, on a Win 2k3/XP network.
