Computer people - Where did you learn most you're stuff?

Discussion in 'General Chat' started by amazingtrade, Jun 26, 2004.

  1. amazingtrade

    amazingtrade Mad Madchestoh fan

    Joined:
    Jun 19, 2003
    Messages:
    5,139
    Likes Received:
    0
    Location:
    Manchester
    I am showing my age here, when you said PS2 I automaticaly assumed you mean't the IBM PS/2. :) I think you mean't a certain Sony product though :p

    I quite like Java, I am still learning it and I am still only a beginer, making a few classes for a web based quiz applet is as about as advanced as I have got so far.
     
    amazingtrade, Jun 28, 2004
    #21
  2. amazingtrade

    Paul Ranson

    Joined:
    Sep 4, 2003
    Messages:
    1,602
    Likes Received:
    0
    Location:
    An octopus's garden.
    Java doesn't have templates or destructors. These two omissions condemn it to useful and fashionable second ratism.

    And since you don't have to deal with memory, IMO, most Java programmers find the more subtle memory leakage that Java can suffer, or having to manage the GC, much harder to understand.

    Paul
     
    Paul Ranson, Jun 28, 2004
    #22
  3. amazingtrade

    GTM Resistance IS Futile !

    Joined:
    Jun 19, 2003
    Messages:
    389
    Likes Received:
    0
    Location:
    UK
    Can't program, Never want to be able to program !! I hate programming !! :SLEEP:

    My first taste of a programming language was 8k Basic at school, well actually punch cards were my first but I've no idea what that would be called. It was ok, but in those days making a white spot travel across the screen was the height of exitement for programming. Then at Uni I was forced to do Fortran 77 and very tedious lectures about flags and registers on some very slow rudimentary CPU, (think it might have been a Z80). That was real fun. Learning how to make 6 leds count up in binary. I never understood what in the world any of that had to do with Physics at the time.

    Since that day I've made two attempts to learn C. But even with someone who can program in it teaching me it just left me totally uninterested. I really don't have the patience to spend several hours writing a couple of hundred lines of code in an attempt to draw a box on the screen only to have the compiler throw it out on every re-write.

    As for PCs and IT stuff. Well my profession is Telecommunications and there are big similarities between IT and Telco networks and I've always had a natural ability at figuring out protocols. PC knowlege has come from a personal interest. Mostly from reading around the net etc.

    GTM
     
    GTM, Jun 28, 2004
    #23
  4. amazingtrade

    mr cat Member of the month

    Joined:
    Jul 31, 2003
    Messages:
    3,375
    Likes Received:
    5
    briefly - I first got a taster of computers in the early 80's (I'm 34 now) then I got my first - an amstrad cpc464 around 84'ish...when I went into the 6th form, I had the choice to do either computing or graphic design....I chose graphice design soley as there were better facilitys there...I got back into computing when I broke up with a lass, I got about 6-7 diplomas (in cobol, pascal, systems analysis etc), but couldn't get a job, so, I bit the bullet and did a sandwich course in computing (hnd in 1997), did a placement in germany working for IBM global services (outsourcing - continental and contitech, doing tech support), then came back and did final year...got a job straight away doing support (nt4, exchange 5.5, routers etc) for a small company in newcastle, then after a year got a job with a big IT outsourcing firm maintaining e-mail systems for the likes of BP, the NHS and Barclays bank...
    but it can be a boring job tho...I rarely touch computers after work, except to transfer my digi photos and the odd surfing...
     
    mr cat, Jun 28, 2004
    #24
  5. amazingtrade

    sideshowbob Trisha

    Joined:
    Jun 20, 2003
    Messages:
    3,092
    Likes Received:
    0
    Location:
    London
    Pascal is mostly a teaching language, but Borland have always taken it reasonably seriously. Delphi is an OOP Pascal implementation, very good it is too, although Borland now seem to be positioning it as a .NET language, for which purpose C# seems more than adequate.

    I have a philosophy degree, so moving into programming seemed like a smart move, nobody seemed to be have jobs for philosophers. No formal training, learned on the job, first with mainframes running PICK R83 (anyone else remember PICK? A multiuser relational database OS in which everything, including the programs, was a database record, invented by Dick Pick in the late 60s for US military systems to track helicopter parts in the Vietnam war), then C/C++/VB/Delphi/a bit of Java/PHP.

    Hardly ever get the chance to write software nowadays.

    -- Ian
     
    sideshowbob, Jun 28, 2004
    #25
  6. amazingtrade

    michaelab desafinado

    Joined:
    Jun 19, 2003
    Messages:
    6,403
    Likes Received:
    1
    Location:
    Lisbon, Portugal
    Ahh I wondered when you'd chime in with a nicely balanced and well argued post :rolleyes: .

    Templates in Java would be nice but that's all they are, a nice to have. In Java destructor = finalizer...they're the same thing. Only difference is that in Java you can't (AFAIK) call them directly. The VM does it for you during a GC. You're not encouraged to write finalizers for your classes as they're only needed for certain special cases.

    In Java, you usually don't have to concern yourself with the finer points of GC and tuning it's various parameters which is all for the better. Just as a modern C compiler can generate better optimized assembler than the best assembler programmer, the Java VM can manage memory far better than 99% of C/C++/Java programmers. Since not all programmers can be experts, it significantly reduces a project's testing and QA phase if all the inevitable (and difficult to track down) memory bugs that C++ makes all too easy (even for the best of us) are made impossible from the start.

    When I have to downgrade to C++ programming from time to time when maintaining older code I just find it immensely frustrating. I can't believe how primitive C++ is in comparison to Java.

    Michael.
     
    michaelab, Jun 28, 2004
    #26
  7. amazingtrade

    Paul Ranson

    Joined:
    Sep 4, 2003
    Messages:
    1,602
    Likes Received:
    0
    Location:
    An octopus's garden.
    A finalizer isn't a destructor. Any fule should kno tha.

    In C++ I can write something like,

    Code:
    void Something ()
    {
        DatabaseConnection db ( GetDBConnectionFromPool ()) ;
        db.DoThis ()
        db.DoTheOther () ;
    }
    And know that my connection will be returned to the pool when the function exits, however the function exits. It's a really useful idiom, whether you have GC or not, especially when it comes to managing resources across a network, which is a common scenario even in Java.

    C# doesn't do this either, there's something really boneheaded going on with the designers, the C# solution for the next version is just pig ugly. It's going to end up that Managed C++ is the cleanest .Net language...

    Talking of 'well balanced',
    A rant without any actual argument?

    FWIW GC isn't any kind of pro-Java argument, I have a wide range of GC choice for C++, from .Net onwards. GC is clearly a very suitable strategy for many apps. But I think it should only be chosen for performance reasons, not because most programmers are inept. I wouldn't want someone incapable of writing C++ apps that don't leak or fragment writing Java apps. Or someone who didn't understand a bit about how common CPUs work and able to make some sense of assembly language, writing any code in any language.

    Paul
     
    Paul Ranson, Jun 28, 2004
    #27
  8. amazingtrade

    michaelab desafinado

    Joined:
    Jun 19, 2003
    Messages:
    6,403
    Likes Received:
    1
    Location:
    Lisbon, Portugal
    Well, I agree with you there but unfortunately that's simply a pipe dream. The days of most programmers knowing those kind of fundamentals are long gone unfortunately.

    Programmers of my age (and older) cut their teeth in 6502 or Z80 assembler and so have a pretty good understanding of how CPUs work and what goes on "under the hood". Most programmers I interview for jobs these days started with VB, have only ever used GUIs and don't have a clue about any of the internals.

    My "downgrade to C++" comment was in response to your calling Java "second rate". Apart from all the technical arguments, I can write better code more quickly in Java than in C++. It will also have less bugs in it (before I start testing it). Lastly, I'll have more fun doing it :)

    Michael.
     
    michaelab, Jun 28, 2004
    #28
  9. amazingtrade

    Paul Ranson

    Joined:
    Sep 4, 2003
    Messages:
    1,602
    Likes Received:
    0
    Location:
    An octopus's garden.
    Java is a language in the idiom and tradition of C++, it even shares much of the syntax, yet it best fits a subset of applications. Perhaps 'second division'? Or 'second tier'? 'Not as general purpose'?

    I do think that adding a 'method that runs when the object qualifies for GC, rather than when it gets GC'd' would be a sensible thing for Java. And any modern language should not have ignored generic programming. (I have a distaste for Java's half hearted multiple inheritance, saying 'we don't do goto' yet having labelled breaks, that is funny, and providing a string class that you couldn't build in Java itself, but I guess they're all minor)

    Paul
     
    Paul Ranson, Jun 28, 2004
    #29
  10. amazingtrade

    Paul Ranson

    Joined:
    Sep 4, 2003
    Messages:
    1,602
    Likes Received:
    0
    Location:
    An octopus's garden.
    It baffles me how anybody could want to get into programming, and yet not want to know what happens underneath. The youth of today...

    Do your Java people know how the bytecode and JVM work?

    Paul
     
    Paul Ranson, Jun 28, 2004
    #30
  11. amazingtrade

    TonyL Club Krautrock Plinque

    Joined:
    Jun 19, 2003
    Messages:
    1,613
    Likes Received:
    1
    Location:
    Another pink world
    I started with COBOL and dBase III / Clipper with their lovely tightly specified variables and thought “I wonder what happens beneath†so learnt some assembler with all its 64k segments and 'push this', 'pop that' and swiftly concluded “bollocks to that, its way too hard!â€Â. Being incredibly lazy I never saw the attraction – if you want a numeric field of 3 characters with two decimal places it's a hell of a lot easier to type PIC 999V99!

    Tony.
     
    TonyL, Jun 28, 2004
    #31
  12. amazingtrade

    julian2002 Muper Soderator

    Joined:
    Jun 19, 2003
    Messages:
    5,094
    Likes Received:
    1
    Location:
    Bedfordshire
    tony, try it with an 8 bit chip like the 6502 where you have 16k segments (iirc) the z80 and 68k were godsends with proper 32 bit registers. i do think it's wise to understand a little of what's going on underneath the surface. certainly for c coding it's very useful however for c++ and java it's much less so. it was kind of a thrill to take a machine like the snes or sega genesis and make it do cool things.
    just as an asside, when i started out i can remember debugging and modifying code by writing hex values directly into memory, 4e71 will always stick in my mind as NOP on the motorola 68000 series processors, useful for blanking out various test and loops.
    cheers


    julian
     
    julian2002, Jun 28, 2004
    #32
  13. amazingtrade

    penance Arrogant Cock

    Joined:
    Jun 30, 2003
    Messages:
    6,004
    Likes Received:
    2
    Location:
    Bristol - armpit of the west.
    see
    i need a job doing it
    then i'd remember that stuff.
     
    penance, Jun 28, 2004
    #33
  14. amazingtrade

    michaelab desafinado

    Joined:
    Jun 19, 2003
    Messages:
    6,403
    Likes Received:
    1
    Location:
    Lisbon, Portugal
    Some of them. Not many though.

    Regarding "subset of applications", this is less and less true of Java. There's very few applications today that couldn't be written (and run) perfectly well in Java. What's more they'd then run on any platform ;)

    At the moment the project I spend most of my time on is a Weblogic server application that runs on Solaris in the production environment. The great thing is that, not only is our app written in Java, but so is Weblogic itself. That means I can run the whole shebang on my XP workstation during development and know that it will transfer perfectly to the Unix environment without a single modification or even a rebuild. You can't do that in C or C++ ;)

    Julian - I remember debugging 6502 assembler that way too. I think 7F was the code for NOP but I'm not sure anymore. A lot of my early motivation to learn 6502 on the BBC B was so that I could crack the copy protection on games and do hacks that would give me infinite lives etc :MILD: . It then came in very handy at Uni where they used BBCs as mainframe terminals. The later models had 16Kb of non-volatile memory, which was perfect for storing all the keystrokes my little interrupt handler keystroke recorder picked up. At the end of each day I could sift through it all for usernames and passwords :JPS: .

    Michael.
     
    michaelab, Jun 28, 2004
    #34
  15. amazingtrade

    julian2002 Muper Soderator

    Joined:
    Jun 19, 2003
    Messages:
    5,094
    Likes Received:
    1
    Location:
    Bedfordshire
    yeah i had a nifty little programme that would redirect the soft boot vector to some of my code so that even the vulcan death grip wouldn't stop that sort of thing running. i had a nice superuser account on the network :D
    i also remember 'modifying' the version of basic on the schools rml 380z's so that the keywords were all different (had to be the same length) goto became arse etc... good for a laugh but got me in lots of trouble 'cos i forgot to reload basic properly for the next class and the teachers didn't know what to do. they didn't seem to understand that all i'd done was changed the lookup table in memory. they were up for charging my parents for a new version of basic until i just reloaded it for them. that didn;t go down too well either. ahhh halcyon days.
    cheers

    julian
     
    julian2002, Jun 28, 2004
    #35
  16. amazingtrade

    TonyL Club Krautrock Plinque

    Joined:
    Jun 19, 2003
    Messages:
    1,613
    Likes Received:
    1
    Location:
    Another pink world
    I remember being offered a free Dec PDP11 that was about to be skipped – I didn't take it as it needed a 3 phase mains supply etc, but that was a daft device, IIRC you had to program it in octal from the front panel with 8 buttons!

    My first computer was a second hand IBM PS2/30, an 8086 with a 20MB HD... a serious piece of kit at the time - WP5.1, dBase III, VS COBOL, Borland Pascal, 4DOS... those were the days!

    Tony.
     
    TonyL, Jun 29, 2004
    #36
  17. amazingtrade

    Paul Ranson

    Joined:
    Sep 4, 2003
    Messages:
    1,602
    Likes Received:
    0
    Location:
    An octopus's garden.
    There are myriad, albeit generally the more specialist, like creating JVMs or the Java library.... Or if you're targetting desktop PCs and you want to avoid deployment problems.

    In a rose tinted spectacled world.

    But if you were running something other than Sun, or Sun produced sensible workstations, then this reason for using Sun's Java would vanish.

    Apart from any technical reasons I'm sceptical about Java because I'm even more cynical about Sun and IBM than I am about Microsoft.

    Paul
     
    Paul Ranson, Jun 29, 2004
    #37
  18. amazingtrade

    michaelab desafinado

    Joined:
    Jun 19, 2003
    Messages:
    6,403
    Likes Received:
    1
    Location:
    Lisbon, Portugal
    I'm sure you could write such applications in Java, allthough you'd need to convert the bytecode to assembler, at which point you could argue it's not really Java. There's nothing about the language itself that prevents it from being used anywhere where C++ can be used.

    Quite the opposite. The deployment problems of C++ applications and "DLL Hell" are a much bigger headache than installing a JRE. You can easily have several different JREs coexist without problems. One of the reasons many of our desktop (XP) apps are written in Java is precisely to avoid the deployment nightmare of Microsoft C++ apps (or C#, or VB apps for that matter).

    Write once, run anywhere works. Emphatically. In the cold light of day. In our case, where the destination platform is known, it's less useful in the way that most people think of it but in terms of being able to develop and test on XP and then run on Unix (doesn't have to be Sun, we use Linux aswell) it's a godsend and saves us loads of time and money.

    I don't really follow, and anyway, the desktop OS in our company will be Windows for the forseeable future (and our server OS will not be) so this is a huge bonus.

    I don't see why, but you're entitled to that view. Personally, the fact that Microsoft tried to kill Java by polluting it with their own rubbish and then, when that failed, just re-invented it as C# makes me highly cynical about them and their motives - quite apart from all the other things they've done.

    Michael.
     
    michaelab, Jun 29, 2004
    #38
  19. amazingtrade

    GTM Resistance IS Futile !

    Joined:
    Jun 19, 2003
    Messages:
    389
    Likes Received:
    0
    Location:
    UK

    For once in my life I'm going to side with "the youth of today". Why on earth do you need to know exactly what's going on with the registers, flags, memory addresses etc. Programming is a means to an end. If you can acheive that end without having to know exactly what is going on "under the hood" all the better IMO.

    All that stuff is just tedious beyond belief. Sure it was meaningful when what you were trying to achieve amounted to a couple of hundred instructions or less. But with the complexity of todays software, (and the future only requireing ever more complex applications), then understanding what is happening on that level is as neccessary and desireable as cutting a lawn with a pair of nail sissors one blade of grass at a time.

    GTM
     
    GTM, Jun 29, 2004
    #39
  20. amazingtrade

    Paul Ranson

    Joined:
    Sep 4, 2003
    Messages:
    1,602
    Likes Received:
    0
    Location:
    An octopus's garden.
    Using platform specific APIs is unnecessarily difficult. Writing a debug tool for Windows or Unix, device drivers, efficient network servers etc etc. I think an efficient JVM would be very difficult since you'd want to be able to generate code and directly execute it.
    Not IMO/E. But then I really like to keep things simple...
    It's a huge bonus for you as a Sun customer, but it's not a technical advantage of Java.
    I think you're signed up for Sun, which is fine. But consider that no significant client development is going on with Java on Windows, and I've not seen much for Linux. Microsoft needed to make Java an excellent platform for Windows development, Sun reneged on their agreement and it all ended in tears. The outcome is that .Net is a better technical foundation than the JVM, and I think from casting about the net that ASP.Net is really becoming quite popular. Competition is good, I think.

    Paul
     
    Paul Ranson, Jun 29, 2004
    #40
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Similar Threads
Loading...