|
|
Or, use your gamerDNA username: (more...)
| ||||||
| |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
| | #31 (permalink) |
| Registered User Join Date: Oct 2004
Posts: 1,758
| I've been assigned projects that have failed and have had to get them back on track. Sometimes complete class redesigns to get stuff to even work correctly. Something that has helped my thinking process is a book by Martin Fowler called Refactoring. Amazon.com: Refactoring: Improving the Design of Existing Code (The Addison-Wesley Object Technology Series): Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts: Books I wish I had a digital copy for some easy reference to go over it again =p. |
| | |
| | #32 (permalink) |
| Uhhhng Join Date: Mar 2002 Location: France
Posts: 4,268
| God I am glad I decided not to persue a programming job after high school Thanks for leaving us with Mrs. Herbert Mr Owens...you jerk.
__________________ Only Douche bags mess with the "Internets" points. RIP Spiderman-Troupe 2002-2008 |
| | |
| | #33 (permalink) | |
| euro scum Join Date: Aug 2002 Location: Sweden
Posts: 819
| Quote:
Anyhoo, no, the complexity of Java isn't in lambda functions (even though closures are due in 7 I think?) nor is it in memory management or recursion, but Java references aren't as simple as people seem to think (due to lack of knowledge) since Java always pass by value (which is easier to work with 99% of the time but that 1% will screw it up for you big time if you don't understand it). Not understanding the garbage collector is another big no no, while you think you can just forget about memory control totally when programming Java, anyone that have been programming since 1.4 know that PhantomReference, SoftReference and WeakReference are must haves. But the real complexity of Java is in its frameworks, as it should be in my opinion. Taken a look at JEE specification? While obviously it's bad to just have seen Java as the only programming language in your life, the same could be said about any other programming language, including C or C++. There is a lot in C and C++ a Java programmer can learn from but there is also a lot in Java that a C/C++ programmer can learn from... Imo, one shouldn't skip any programming paradigms... Functional, imperative, objective and VM-based languages should all be part of your education. Yes, Java does abstract a lot that is used on a regular basis in C/C++, but most of the stuff is trivial stuff that is taken to a higher level because well, most of the time business methods is what matters in Java. Last edited by slitz : 06-25-2008 at 01:45 AM. | |
| | |
| | #34 (permalink) | |
| Registered User Join Date: Feb 2006
Posts: 1,657
+5 Internets | Quote:
Anyway, I love programming in C#, so I certainly don't mean to shit on Java for being too abstract, or something. (By "should" I mean from a personal perspective. Like I said, I'm not completely sure as to whether an academic understanding of computer science is going to make someone a better programmer if they don't have to apply what they know.) | |
| | |
| | #35 (permalink) |
| Registered User Join Date: Nov 2003
Posts: 517
| I would say that most schools teach exclusively in Java now because there is no point to learn all the memory management issues that arose with C/C++. Outside of a certain small minority no programs in these languages anymore. Even Microsoft writes a large chunk of their programs in C# these days. I believe the latest SQL Server client was written in C#. As stated, with garden variety computers having 2 GB of memory these days your standard run-of-the-mill programmer doesn't require a deep knowledge of memory management. For the most part, C# and Java do a "good enough" job of MM and GC that the programmer does not have to be burdened with this. I have noticed a large sum of "old school" programmers cringe in the face of languages that make their lives easier. Maybe they are concerned that programming will get to a point where anyone can do it, I honestly do not know. However, keeping track of a ton of variables and calling their destructor method in them is tedious. Not skillful. 95% of the time Java does it when you would do it anyways manually. However, for graphics engine developers they require that 5%. I respect C++ programmers. I honestly wish I knew the language better than I do. I recognize the raw power the language has and how you can make the computer your absolute bitch with the language. Its truly an amazing language that I think will be written in for quite some time to come still. However, do not think that programmers that want the computer to do some of the work to ease the tedious crap we have to do as any lesser. Code:
Code:
Code:
Last edited by Tenks : 06-25-2008 at 06:14 AM. |
| | |
| | #36 (permalink) |
| Registered User Join Date: Jul 2002
Posts: 2,026
| C++/C will probably have it's place for quite some time to come. C is just a nicer way of doing assembler, and C++ is just a better structure of C. I do both C# and C++/C programming, each has it's place. The embedded market is huge on C, and I don't see that changing any time soon due to IC limitations. You can't be a prick about memory on a unit that only has 8k of it ![]() I'm not sure if higher level languages will be able to replace C/C++, at the bottom of it all you have to have the language you build all the tools from.. C/C++ are those languages. COBOL: the worst if not most wordy language out there is still in use today, theres over 300 COBOL programmers working at a bank in my city. It's by no means being implemented in new software, but you'd be surprised how many large mainframe based banks still use it. I may hate on COBOL but it did infiltrate the industry in a way; SQL queries still give me creepy COBOL flash backs. |
| | |
| | #37 (permalink) | ||
| Registered User Join Date: Aug 2002 Location: Texas
Posts: 2,242
| Quote:
I am also a little worried about things like.. Quote:
Not bitching really - I'm not a whole lot of a coder myself (I do stuff here and there), though in my job I do source-level debugging of java, C#, C++, python, and ruby. I see a lot of this kinda thing though from time to time with our "new" coders, and it drives me nuts. We even had one .net app exceed 1000 window handles and crash because he wasn't destroying his objects (or something to that effect, basically he was relying on the garbage collector to clean it up - I don't know the correct terminology). Just because theres 2gb of memory around and computers are so fast, really shouldn't mean that bad code or poorly optimized code should be written =\ | ||
| | |
| | #38 (permalink) | ||
| euro scum Join Date: Aug 2002 Location: Sweden
Posts: 819
| Quote:
Quote:
The way a GC work (basics yet again) is that it will "free up" references that are no longer in use, whenever needed. Meaning, it won't free up memory unless you explicitly told the GC to do it, when you're using 2 out of 32mb. Whenever it reaches a point where it's starting to run out of memory however, it will go through the references that has been queued up in the GC (unused ones), remove them and thus free up memory. I'll repeat, you don't have to explicitly tell the GC of unused references in most cases. So you can't really go wrong with a GC in the sense that you forget to tell it to clean up, you can however go wrong with thinking references are due for garbage collecting when they are still in a active scope. As said before, the GC mechanism is a lot more complicated than people seem to think and it's a lot more useful (when understanding the mechanics) than people give it credit for, so please stop blaming the wonderful GC for being responsible of breeding a bunch of bad programmers 8) Last edited by slitz : 07-01-2008 at 03:10 AM. | ||
| | |
| | #39 (permalink) |
| Registered User Join Date: Feb 2006
Posts: 1,657
+5 Internets | In C#, if you're not careful, it's easy to spawn a new object or form or control and accidentally leave a live reference to it somewhere, so the GC never cleans it up. It can be a real pain in the ass to track down. |
| | |
| | #41 (permalink) | |
| Registered User Join Date: Feb 2006
Posts: 1,657
+5 Internets | Quote:
In my opinion, this is all just a good discussion of why you should use a good profiler to check your code, no matter what language it is in ![]() | |
| | |
| | #42 (permalink) | |
| euro scum Join Date: Aug 2002 Location: Sweden
Posts: 819
| Quote:
The problem as I see it is rather people teaching Java doesn't focus on the GC enough to tell students that it does matter (most people don't know how GC is working, they just know it's bad since well that's what the C/C++ cool kids are saying). Don't forget that premature optimization is a anti-pattern that comes at great costs as well (obviously programs running out of memory is always bad though 8) ), so always optimizing for memory is as bad as never caring about memory. And yes, good knowledge of profilers is worth a lot! 8) Last edited by slitz : 07-01-2008 at 05:20 AM. | |
| | |
| | #43 (permalink) |
| Administrator Join Date: Dec 2004 Location: ftw tx
Posts: 293
+4 Internets | I finished school with a 4yr CS degree and good grades. I was easily picked up in the aerospace industry as a software engineer. The job was easy and I learned a lot. I was able to finish my masters and stayed for 6 years. Then I made the switch to the gaming industry... The last 4-6mo before I applied for my current job, I started working on a side project with some of the other people on these boards creating a simple mmo called newbieworld. According to the guy who hired me, the fact that I worked on this project made more of a difference than my 6 years of experience and masters combined... What I would say to you is, find a way into the gaming industry if that is what you want to do. Then begin moving up from inside. Once you are in it becomes a lot easier to do what you want. |
| | |
| | #44 (permalink) |
| Farming negs Join Date: May 2007 Location: Wigan, England
Posts: 1,076
| Thinking about perhaps being a tester first, and perhaps working on a codeportfolio while I gain some experience. Anyone have any experiences doing that?
__________________ Dominara, Lv80 Shadow Priest: EU-Sylvanas. Working on Malygos. |
| | |
| | #45 (permalink) | |
| Reactor Zero Join Date: Dec 2002
Posts: 319
| Quote:
You're probably better off looking for an internship or a junior programmer position. You'll probably get paid more than a tester would (15-20 USD per hour for an internship, probably something like 50k per year as a junior programmer). Plus, you'll get to build up a codebase and portfolio and will probably end up testing a lot of your own code anyway. | |
| | |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
| |