|
Good luck!!!
For the confused feelings try this: "Non, Je Ne Regrette Rien" - (Edith Piaf)...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is (V).
|
|
|
|
|
|
Change is always tuff especially after that many years. I'm confident you'll be as good at your new position as the old.
Break a leg...er Good luck?
|
|
|
|
|
Good luck!
We will miss you.
--The Platforms
Veni, vidi, vici.
|
|
|
|
|
Good luck, Dave! I'm sure the next gig will be as rewarding as this one.
/ravi
|
|
|
|
|
Where to now, Dave? The top secret nuke plant they acquired in Libya?
Will Rogers never met me.
|
|
|
|
|
Nae quite Roger, I am heading to the Beryl Field[^] which is a wee bit further up north in the middle of the northern north sea.
|
|
|
|
|
you'll be right mate -
Bryce
MCAD
---
|
|
|
|
|
So you should be on dry(ish) land by now!
|
|
|
|
|
Thanks....
Yes, got back just after 10. It was cold, but fine when I arrived, then it just went mental about 3 hours later.
|
|
|
|
|
Am I wrong thinking that C is a better language for one to learn as Java or Delphi?
I have a friend who always says C and C++ are hard to learn, outdated and impractical. I can understand that he thinks Java is better as it was his first language, but I seriously can not understand why he thinks Delphi is better than C. After Basic it's one of the worst languages that I've seen so far.
I was alyways convinced that you need to know how a computer works at low-level to be able to write decent code... Altough I've never never written a single program in ASM I feel like I would've never understood coding without it and seeing what my friend texts me sometimes I might be right. Only a few days ago he stated that he wouldn't need to learn pointers because Java "doesn't use them" and "var parameters in Delphi aren't pointers". And at the same time he asked how to send an array of pixels with WinSock because the appropriate delphi-function only accepts strings.
But then there are things that really annoy me about C like null-terminated strings. They are so damn slow!
|
|
|
|
|
This thread again?
Here's how this thread goes: some agree, some disagree, everyone mentions their pet language causing this thread to recurse.
Your friend is an idiot, as is anyone who says "I don't need to learn [some fundamental concept]".
|
|
|
|
|
No I'm not.
And I don't need to learn [some fundamental concept]!
|
|
|
|
|
What worries me is the idea that if I have no real friends, then I am the idiot, since it's clear there's at least one idiot in the house.
“I'm an artist: it's self evident that word implies looking for something all the time without ever finding it in full. It is the opposite of saying : 'I know all about it. I've already found it.'
As far as I'm concerned, the word means: 'I am looking. I am hunting for it. I am deeply involved.'”
Vincent Van Gogh
|
|
|
|
|
an idiot, as is anyone who says "I don't need to learn [some fundamental concept]".
And yet you and many others would deny that you need to learn category theory and functional programming as in Haskell and Scala.
I've programmed in asm on several computers, I programmed for decades in C, but I'll tell you that the people who learn functional programming will do better in the long run than those who get mired in C.
|
|
|
|
|
Yea nice going there mate, I nearly thought this thread wasn't going to go the way I predicted, way to prove me wrong
|
|
|
|
|
The concept of "fundamental concepts" vary with time.
When I learned Basic, Fortran, Pascal, Cobol and the assembly languages of four different architectures + MIX (ref Donald), "fundamental concepts" included how to handle 1-complement vs. 2-complement, order of bits, octets, halfwords and words (like some PDP-11 OS structures with the high order halfword first but the high byte in each halfword last ... or was it the other way around?), advantages and disadvantages of a hidden upper bit in the mantissa of float formats...
Kids of today could (or couldn't) care less about normalized mantissas, BCD nibbles amd the question of when minus zero is equal to plus zero. And, I must admit, today I don't care that much myself. I do remember that such understanding used to be essential, but it isn't anymore.
Nowaday, I handle integer values withoout worrying about their binary representation (if I do, it is because I use them for something else than integer numerical values, which is bad practice in any case!). I handle sets of objects without concerns about next-pointers: I add objects to the set, remove objects, traverse the set etc, without ever seeing a next-pointer. What I do see, is whether the set is ordered, objects accessible by keys etc.
Sure, knowing what goes on one level below the one you work at is essential. In the days of 1-complement machines it could help you understand why sometimes 0 != 0. Today, when a foreach loop was abruptly terminated, my old familiarity with next-pointers was a great help in pinpointing the problem to the replacement of one object in a DOM structure with a new versison - the replacement was done in a code snippet that didn't know that the old version was the current one in a foreach iteration, replacing it with one with a null next-pointer. That is an implemmentation anomaly, just like 0 != 0 is an implementation anomaly. 2-complement fixed the latter - a list implementation mantainng the list by a separate link structure rather than embedding the next link in the object itself would have fixe the former. Like 1-complement died out with time, object embedded next pointers might die out with time. Then, understanding the use of next pointers might become as irrelevant as understanding the difference between 1- and 2-complement.
Sometimes I am frustrated by our younger programmers and their lack of understanding of fundamental concepts. And then, when I think it over, I more and more conclude: "Actually, they do not need it for anything at all, given the tools we have available nowadays". Besides. it gives me a lot of opportunities to act as an old grandpa who can explain to the kids how it was in the old days, and how it really is even today, if you just look closely... Some of the kids simply love it!
|
|
|
|
|
Good statement. Context is key. Of course, its better to know these things, but the question of usability comes up. If I don't know what a normalized Mantissa is does that mean I am stupid? Can't code?
OTOH - when you know these things, it sometimes can save the day. Is that a reason to stop learning how to program on the Phone, and pick up Assembly? I dont think so.
Where there's smoke, there's a Blue Screen of death.
|
|
|
|
|
Hello, this is my 1st post here. Looks like a great forum.
I really like 7989122's reply, for a few reasons:
1: I think sometimes it's easy to be too reliant on hindsight and deploy it without regard for the environment and its inhabitants. e.g. when I learnt Latin it was helpful and gave me a more fundamental understanding of English. But I learnt to make basic baby sounds first, then picked up English then Latin. So I learnt some language origins and building blocks in reverse order because that's what was the go at the time and all I was capable of.
2: the reply doesn't use the term "idiot". I can't see any positive disposition created by using this word. I suspect it's source could be of self indulgence. But I don't know, I choose to ignore it's intent.
3: as a trainee Citizen Developer who began 1 year ago learning using Small Basic and now just started with C#, if I find that I need to or it's conducive to achieving my goals then i'll learn some C.
Learning with Small Basic has been great fun and we have the opportunity to make our own controls, optimise our code, consider efficient resource use and devise crafty work arounds. And once again it's fun.
Whilst this question and discussion occurs often, I think it's helpful for those learning. Thanks for the post.
|
|
|
|
|
There is a whole can of worms here, depending on your personal prejudices!
IMHO there is no such thing as a "better language" per se. Each of them have advantages and disadvantages but even those are dependent on how you are trying to use them, and for what.
If you want to code for an Android device for example, then Java is the obvious choice. But for a PC? I hate even letting the Java runtime know my PC exists, let alone allow it to install itself!
C# is good for PC app development, but if you want lots of speed, then C++ is better.
C is good for embedded devices, but C++ works well if you are careful, and C# won't really work at all.
But Java, C, and C++ wouldn't work in a web site where Javascript is king!
And so on! Task and environment is more important than language: if you already appreciate the hardware I wouldn't learn C - it's a bit outdated and very simple these days, plus it has no OOPs features at all which really do help with large modern developments.
So what would I learn? If you want to learn about OOPs then I'd start with C# - it's powerful, OOPS and flexible, but "hides" the hardware from you pretty well so you can concentrate on tasks rather than implementations.
modified 22-Dec-13 6:08am.
|
|
|
|
|
We are coding for Win32, but I am coding more low level than he, that's why I tend to favor languages that do not hide the hardware from me. Currently I am experimenting with a program that can manipulate PE files (written in C++) and a metamorphose program in assembler. If everything works out I plan to join both projects together to encode PE files.
For many things like GUI, Delphi seems a lot easier to me at first but as soon as you want to do something a little more complex it gets really annoying plus the language is just crap.
|
|
|
|
|
Ignore what anyone tells you about "the best language", or "this one is better than that". Choose the language that you understand (at least to a reasonable degree), and does the job.
Veni, vidi, abiit domum
|
|
|
|
|
Exactly, right tool for the right job!
|
|
|
|
|
If your employer confronts you with different jobs requiring different tools at different times - on short notice - then you will need to prepare a generalist skill set in advance.
If there is pressure to get a product into test or out the door, you simply won't have the time to pick it up, even though you may be a very fast learner.
This sort of meltdown can be exacurbated by principals going on holiday, long term secondment, or elsewhere.
Under these circumstances you are likely to be the only spar holding the burning plane's wings on as the bosses try and guide it down to a safe landing.
Example - C# is a great language for General Purpose and rapid prototype; but being able to mix and match with interop win32 dll's either from the API or that you have written yourself is a great skill, which is picked up by learning C/C++ techniques and the Interop techniques in advance. Even old skills like ATL/COM are useful for RPC's and eventing if you are crossing process and OS boundaries.
Learning the basics in advance and in your own time would definitely make you an asset, at least in industrial, robotic and engineering contexts.
And let's not forget, the madder the company the more fun there is.
|
|
|
|
|
You seem to believe you are asking a question with a concrete answer. You can also ask is it better to learn the saxophone or the veena or should you wear blue on Thursdays.
Peter Wasser
Art is making something out of nothing and selling it.
Frank Zappa
|
|
|
|
|