Forum menu
When you can all code a c compiler in this, come back and talk to me.
Yeah I tried learning that, I gave up when I realised that it probably wouldn't be wise to put on a cv anyway....
Also, just learn lolcode, it's pro.
Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other
Yeah cept the pyramids have been standing for thousands of years with hardly any maintenance, and they don't fall over 🙂
Not sure if anyone has said this but a lot of big companies outsource their IT dev offshore now
True, but there's still a market for good local IT people. Outsourcing is a real headache. And that largely applies ime to the IT parts of big companies that do other stuff like insurance etc.
Does it matter if the end result works the same?
Ah, spoken like a true manager 🙂 Imagine if plumbing meant doing the plumbing for an entire development, say, with restaurants, offices, houses and factories; imagine that they needed ten different kinds of water that all needed to be converted. Then drag in anyone off the street who can recognise a pipe wrench and tell them to get on with it. There are no plans apart from 'we need water in the buildings', no-one can agree on which type or how much, and there are NO bulding regulations so each plumber is just hacking together a load of pipes willy nilly, and the good plumbers are going around patching the leaks and dangerous mistakes of the others. Then come back in two weeks and ask why the hell there's no water on, and could you please get a move on or you're all fired. Eventually after a year there's water on in most of the buildings. Good solution, or not? 🙂
This is what most big IT projects are like.
However I don't think the OP wanted to be a professional developer 🙂
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
Surely you mean anything using Excel is likely to lead to project failure...
There are two issues - one is deciding which language to use, and the other is deciding how to learn to program. The former is less important than the latter.
I learnt C from K&R and some other books originating from the AT&T guys and am eternally grateful that I did, as I find the quality of programming books for the Windows platform to be pretty poor. In the old days Prentice Hall books used to rule whereas today Addison Wesley books seem to be the most consistent source.
Stoustrup has a well-rated book on learning to program, which happens to use C++:
that would give you a solid foundation and then picking up one of the mickey-mouse languages like C# would be simple.
If you want to learn using something else I would go for Java rather than C#, there are too many hacky features in C# whereas at least in Java you are forced to follow a 'purer' programming model.
And avoid ANY book by Herbert Schildt...
25+ years here 🙂
I learnt C from K&R
The world is a very different place now!
If someone wants to knock up a few simple apps, I would not recommend heavyweight programming theory tbh.
My view:
Find something that's open source that does something roughly near what you want to achieve.
Use that as a start point and add something.
Easiest way to learn to code is to use someone elses (well written) code as a start point.
It's far easier, for example to add a control or whatever to a page that already exists and can talk to a db than have to start worrying about connection strings and who knows what before you can even do the most mundane of tasks.
As above - the actual language you use is probably less important than the availability of good tools and a wide user base.
I'd personally recommend the Microsoft 'Express' family of products if you can find an app to use as a start point.
Ah, spoken like a true manager
Although I do know lots of languages, I don't know powerpoint or excel 🙂
if plumbing meant doing the plumbing for an entire development, say, with restaurants, offices,
As you say, he's not aiming to do it for a living, just a hobby project, for one person, so maintenance and all that jazz is not as important as just getting it done. KISS.
HAI
CAN HAS STDIO?
IM IN YR LOOP UPPIN YR VAR TIL BOTH SAEM VAR AN 10
VISIBLE SUM OF VAR AN 1
IM OUTTA YR LOOP
KTHXBYE
that is class
The world is a very different place now!
rubbish - there are still heaps and stacks, parameters are still pushed onto the stack, return addresses are pushed onto the stack and popped from it, etc.
Loads of 'features' in C# are just syntactic sugar that is rewritten into simpler code in the same manner that early C++ compilers would emit C, or Ratfor compilers would emit Fortran.
Surely you mean anything using Excel is likely to lead to project failure...There are two issues - one is deciding which language to use, and the other is deciding how to learn to program. The former is less important than the latter.
Aah. here we are, the big failing with IT projects- misunderstanding, poor communication, failure to listen to the user, uncertain requirements.
The op said:
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 ?
IMO, for what the op asked for, a spreadsheet is most suitable.
Anything else is just gilding the lily and more likely to lead to abandonment. 25+ years of experience should tell you that the requirements drive out the solution. 😉
(retired now, but started commercially on fortran in 1981 😕 )
How hard is it to learn computer programming
Dicking around in a spreadsheet is not going to meet the goal outlined in the title of this thread.
MS have done an incredibly poor job of developing Excel as a programming platform - just go and work for an investment bank for a while and witness the massive maintenance burden that they have trying to make Excel based apps reliable.
rubbish - there are still heaps and stacks, parameters are still pushed onto the stack, return addresses are pushed onto the stack and popped from it, etc.
That's correct.
However the programming world IS a very different place now than it was 25 years ago, you can't really argue with that!
Dicking around in a spreadsheet is not going to meet the goal outlined in the title of this thread.
The title of this thread doesn't necessarily relate to the aim stated in the OP. This is one of the major problems in IT projects, the person paying doesn't always know exactly what they want, but they want it [i]now[/i] so you just have to crack on with coding and change bits when they make up their minds 😕
MS have done an incredibly poor job of developing Excel as a programming platform - just go and work for an investment bank for a while and witness the massive maintenance burden that they have trying to make Excel based apps reliable.
ime, the reason for this is usually that stuff in excel is written by the business, not IT. The first that IT sees of it is when a user turns up requesting enhancements or support so it works as they intended... 🙂
However the programming world IS a very different place now than it was 25 years ago, you can't really argue with that!
Yup.
Right now I'm writing a command-line assembler/linker in C, which I'll be using next month for production DSP assembly code 🙂
yeah - 30% of computer projects fail, or so I hear as I haven't been in any of them.
That's why agile/TDD/XP are the right way to go, and waterfall is not.
This is one of the major problems in IT projects
Yep, along with geeks getting aeriated about 'programming principles' when what's needed is a good quick solution that's appropriate 😉
yeah - 30% of computer projects fail, or so I hear as I haven't been in any of them.
Well I've never been in one that got canned but boy have I been in some disasters!
Right now I'm writing a command-line assembler/linker in C, which I'll be using next month for production DSP assembly code
And I'm working with Enterprise Java 🙂
That's why agile/TDD/XP are the right way to go, and waterfall is not.
Really depends on the type of project and there is no one size fits all.
I really like TDD (Test Driven Development) biggest problem is getting project managers to buy into it.
Yep, along with geeks getting aeriated about 'programming principles' when what's needed is a good quick solution that's appropriate
I agree you need to be pragmatic sometimes and the quick and dirty solution is the right thing. Problem is that later the business comes back and moans at you because you now cant maintain/scale that solution !!!
And I'm working with Enterprise Java
So your not a proper software engineer then 😀
I agree you need to be pragmatic sometimes and the quick and dirty solution is the right thing. Problem is that later the business comes back and moans at you because you now cant maintain/scale that solution !!!
I'm not advocating quick and dirty, just tools for the job...
So your not a proper software engineer then
Just cos I don't need to use malloc...
Who do they come to when they can't figure out why XA transactions aren't being propagated across components and no-one else can figure it out? 🙂
bazzer - Member
quick and dirty solution is the right thing.
Reminds me of my third wife. Both in life and in death.
Yep, along with geeks getting aeriated about 'programming principles' when what's needed is a good quick solution that's appropriate
Very funny - I am interested in providing a solution to the problem and then moving on and not being plagued with having to maintain something that I slapped together - I would rather get on to solve the next problem.
TDD styles, or those close to, appear to be the fastest way to get robust software out and also allow one to concentrate on solving the problem rather than fixating on churning out 'pure' code.
I like the fact that I can make a small change and then run several hundred messages, for example, through my system in a couple of seconds to check its integrity. I also like the fact that if anyone else makes a change to the code base I am assured that they haven't broken my stuff because these same tests are run by the build system. I like the fact that a team can work in a continuous integration manner so they are faced with a potential nightmare at the end of a project when everything gets merged together.
If you look around in big institutions you will find that an awful lot of programming resources are taken up keeping flaky ('strategic') solutions that were slapped together quickly running. It all stems from cowboy developers who eschew decent programming principles because they are above them and know better...
Think of it this way - say you took your car in for a service and the garage then phoned you up to say it would be ready early at 3pm - so you went to pick it up and gave them an extra £100 for having it ready on time. You then drive it down the road and it conks out after 100metres. You call garage and they come out and fiddle around, and it starts - you give them another £50 for doing a good job - you then drive another 100metres down the road before it conks out again. Another call, out they come and get it started, you give them £50 for doing a good job, and off you go for another 100 metres...
That seems to be how a lot of places work - I have worked for some of them, luckily on contract...
And I also like how TTD styles force good design by the need to componentise things so they are testable...
I agree with all you say about TDD and whatnot. I don't need good programming principles expland and justified 🙂
However.. the geek issue can be a problem.
For example, on this project people are humming and hahing about which solution will run the fastest when the servers are never loaded above about 10%. So it's less of a priority than simple clear accessible and accurate code. The database is accessed through a server written from the ground up in C++, the client is either C++ or Java. Because the app server is a separate product I can't go near it, and I have to use this bizarre undocumented proprietary API instead of web services. It takes me days to figure out wtf is going on because it's so arcane, and I'm paid by the day. Plus there's a team of three or four full time devs that would not be needed if it weren't for this. All in the name of performance that isn't really needed.
Using a Java app serve with EJB3 or Hibernate and web services would have been somewhat more resource hungry, but we've got plenty of hardware resources to spare. Developer resources on the other hand, we haven't.
Sorry for the thread hijack, OP 🙂
Who do they come to when they can't figure out why XA transactions aren't being propagated across components and no-one else can figure it out?
I have no idea what you are talking about so maybe you are the real software engineer 🙂
Sorry for the thread hijack, OP
It might not be a thread hijack - it might have served to put him off programming as a career...
I think the main problem is, that in the last 10years or so I am not sure if I have worked on any project they had enough funding to actually do what they wanted to do properly.
That's why agile/TDD/XP are the right way to go
XP?
eXtreme Programming! Grr!
[b]>helloworld[/b]
Job done.
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
Now, that's a proper hello world!
You man, you 🙂
Yup i have all teh skillz......to look it up on wikipedia 😀
Wow, that's about 20 different programming languages recommended then.
I downloaded Visual Basic and it wouldn't work because I had to download something or other else as well. I'll look in to that and give it another go.
Thanks for all the replies and advice, but I think the fastest way to get this idea going is to keep using BikeJournal and just keep a record of the bike's mileage when I change a component with a note book and pen.
I like the way clients not explaining what they really want is a recurring theme, and then one or two people have given me advice on programming as a career change.
Are you sure it's the clients not explaining and not the programmers not listening that's the problem ? 😉
I like the way clients not [s]explaining[/s] knowing what they really want is a recurring theme
FTFY.
And it's true, some programmers don't listen very well. A good programmer should also be a people person I feel. But they often aren't.
[i]A good programmer should also be a people person I feel. But they often aren't. [/i]
some of the best programmers I've met would struggle to entertain a pencil in conversation.
The programmers who produce the best solutions (not code) do tend to be able to talk to real people and explain in words what's possible and not possible (and why).
Depends what you mean by 'best' doesn't it?
wwaswas +1
the best programmers think in machine code and have the social skills of a wolverine.
So learning to program is easy, learning to be a programmer is hard / a matter of aptitude; not everyone is cut out to be one.
[i]"I like the way clients not knowing what they really want is a recurring theme"[/i]
Yeah, I guess that's true.
I think I know what I want, but I'm sure that if I got it, it wouldn't be quite right.
I suppose the easiest way would be for me to say I want something exactly the same as BikeJournal, plus I want it to do X, Y and Z as well.
the best programmers think in machine code and have the social skills of a wolverine.
No, the best ones are brilliant coders and also great pragmatists, mediators and visionaries. Like me 🙂
Analysts talk to clients, programmers talk to analysts. I wouldn't ever let a good programmer near a client
So learning to program is easy, learning to be a programmer is hard / a matter of aptitude; not everyone is cut out to be one.
Learning to program is easy but being a good programmer and learning to program well is very hard.
Some people have what it takes and others don't, but I think that this is the same in every profession.
Analysts talk to clients, programmers talk to analysts. I wouldn't ever let a good programmer near a client
🙄
Full of the cliches this thread, isn't it.
What if I'm a good analyst and a good programmer?
What if I'm a good analyst and a good programmer?
Und zwar auf deutsch?!
Germany, yes although I'm wasted here (and not in a good way) 🙂
