Jump to content

  • Log In with Google      Sign In   
  • Create Account

We need your feedback on a survey! Each completed response supports our community and gives you a chance to win a $25 Amazon gift card!


A Brain in a Vat

Member Since 18 Apr 2011
Offline Last Active May 19 2012 09:09 PM

#4850907 How much do you use your IDE?

Posted by A Brain in a Vat on 18 August 2011 - 02:02 PM

But none of that is meaningful work. It's shuffling the deck chairs. No matter how efficient, it won't do anything about the ship sinking.

None of these facilities solve actual problems. How does any of these features help me better align the UX experience with target demographic? How does it help reduce turnaround time on reporting? How does it ensure better culture fit across different stakeholders? How do they help me reduce failure rates in deployed software? How do they help me choose most suitable architecture trade-offs given requirements?

All these features do is they help move text around faster. But they don't help with any important problems in a way that choice of better ecosystem would. The "solutions" mentioned above are endemic to Java and .Net which are just absurdly verbose for the trivial and mundane tasks they are solving.


What's your point, exactly? No one is arguing that using an IDE writes good code for you.

The question at hand is whether using an IDE has any benefit over not using an IDE. Doing the same work but making it faster, easier, and less error prone may only be "shuffling the deck chairs", but isn't it still a benefit? Doing the same work but in less time is an obvious benefit.

My bike can get me anywhere my car can. Does a car then have no benefit over a bike?


#4850853 How much do you use your IDE?

Posted by A Brain in a Vat on 18 August 2011 - 11:55 AM

And you still haven't mentioned how you do automatic code refactoring without an IDE. What tool do you use?

Text editor?

Refactoring does not have to mean that one needs to constantly rename methods and move blocks of code around. Such tool-assisted process is crucial primarily to Java for well-known reasons. Most other languages and ecosystems simply do not have such pain point. It happens, but it's mostly a non-issue.

For example, renaming is trivial part, the difficult part in refactorings is revisiting the test cases, possibly removing or adding them or correcting them to reflect new design. That is where the hours will go. Text mangling is simply not a pain point.


Text editor? Renaming is the trivial part?

I'm talking about refactoring in such a way that one local change takes effect across the code base. A simplistic example is renaming a method without having to edit every single file that contains code that calls that method.

Why is that an important feature? Number one, because it saves a lot of time when working with complex code bases. Number two, because it makes it much more likely that the developer is going to actively rename things when he or she should, maintaining the self-documenting element of the code.

A programmer who can't rename a method in this way is likely to not rename it, thereby degrading quality of the source code.

Add in automatic code generation, method extraction, variable and constant extraction, method signature changing, etc. All this helps programmers not be lazy. Even if you are NOT lazy and would do all of this manually, you can't deny that refactoring tools make it a lot faster and less error-prone.


#4850835 How much do you use your IDE?

Posted by A Brain in a Vat on 18 August 2011 - 10:54 AM

Yes, it's true, I've become pretty good at using tools. I am not ashamed of my knowledge. I've been a professional software developer for 30 years. I've developed on and for mainframes, minis, micros, PCs, embedded blinkenlights, phones, and tablets. I've worked for years in shops where IDE use was mandated by management, for both Java and for Windows. I am not inexperienced in a number of development environments and techniques, oftentimes cutting edge.

The hardware, OS, and platforms on which I've worked have changed underneath me over the many years. I have evaluated and discarded tools and techniques that have not been effective, and I have readily adopted tools and techniques over the years that work well. My basic workflow has remained essentially the same.

Why?

Because it works, bitches.

And it keeps on working, even when all the trendy kids have moved on to some other shiny thing, I keep bringing home the bacon. Mmm, bacon. I have heard a lot of complaints from ponies who know one Visual Studio trick and try to jump to, say, a Mac or a Linux distro and are completely lost. I wish them luck with their careers. Maybe they could consider something in the management track.


Yeah, it works. I work with some developers who have been developing for decades. Some embrace change. They like to learn new ways of doing things in order to become better and more efficient at what they do. Others avoid change. They are really good at doing what they do, but they only learn new things when they need to. They get the job done. It does, in fact, work, bitches. What I see that they don't is that they hold the company back. Their resistance to change stifles the company as a whole.

Management doesn't realize that. They see "Old dependable Ralph" who always gets the job done, and thus keeps bringing home the bacon. Give it to old dependable Ralph, he'll get it done. And if it takes him longer to do it than if he had embraced the rest of the world has embraced, they'll never know it. And if old dependable Ralph is holding the entire company back from evolving its toolchains and frameworks from "what works" to "what is better", they'll ever know that either.

Conservatism in almost any context is, in my opinion, is an attitude that appears attractive and safe, but really undermines (by definition) any possible progress and inevitably leads to catastrophe when old dependable Ralph finds that "it doesn't work anymore, bitches... and i don't know how to move onto something that does".


#4850441 How much do you use your IDE?

Posted by A Brain in a Vat on 17 August 2011 - 01:05 PM



Nobody has ever demonstrated to me what possible advantage I could gain by using an IDE. I have encountered many disadvantages.

Without an IDE you don't have the integration between your source and the debugger. Is this necessary? No, but it's nice. I use gdb all the time, but on certain projects it's nice to be able to visually place breakpoints while looking at my code.

Without an IDE you don't have automatic refactoring tools. Are these necessarY? No, but they're nice. They save a lot of time and headache, and let you focus on writing logic.

Without an IDE you don't have useful autocompletion, "go to definition", call hierarchy, etc.

Without an IDE you don't have a class-level view of your program that is integrated with your source.

Without an IDE you have to remember the locations of each of your files. This may not sound like a big deal, but those of us working in giant codebases don't want to spend lots of time searching through directories.

Not a single one of those points require an IDE, unless you rephrase them to say "with an IDE, you cant ... in an IDE." So, I guess an IDE is kinda like a tautology. I can also create tautologies with an IDE, so again that's not an argument for their use.

I have tools that do all of the above. I do do all of the above. Well, not autocompletion, I don't like it, but my tools do it. And none of my tools are integrated with my source, because my source is in text files. An IDE is also not integrated with the source.


Why don't you tell us what these tools are? I'm especially curious as to how you do automatic refactoring. You can choose a class member and change its name, and not have to manually change the name in any of the code calling this function? What tool is this? Is it easy to use?

An IDE is also not integrated with the source? Maybe you didn't understand what I'm saying. While I'm coding I can do all of these things, without firing up some external tool. I don't have to configure some external tool to tell it where to point, and I dont' have to have a different view of my code. If I want to set a breakpoint in my code, I just set it with a quick command, as I'm typing the code itself. You cannot do this.

The fact is, if you have tools that do all of this, then you have a full DE. It just happens not to be I(ntegrated). So is your dislike of IDEs centered around the fact that the tools are integrated? You like having all your tools function in completely different ways, and none of them working particularly well together?


#4850403 How much do you use your IDE?

Posted by A Brain in a Vat on 17 August 2011 - 11:41 AM

Nobody has ever demonstrated to me what possible advantage I could gain by using an IDE. I have encountered many disadvantages.


This is like saying "As a bike rider, nobody has ever demonstrated to me what possible advantage I could gain by using a car."

I'm not saying you should use an IDE. I often don't. I also don't own a car. But, although I can get anywhere by bike that I could by car, and although I detest cars and don't think their positives make up for their negatives, I can admit that there are positives.

Without an IDE you don't have the integration between your source and the debugger. Is this necessary? No, but it's nice. I use gdb all the time, but on certain projects it's nice to be able to visually place breakpoints while looking at my code.

Without an IDE you don't have automatic refactoring tools. Are these necessarY? No, but they're nice. They save a lot of time and headache, and let you focus on writing logic.

Without an IDE you don't have useful autocompletion, "go to definition", call hierarchy, etc.

Without an IDE you don't have a class-level view of your program that is integrated with your source.

Without an IDE you have to remember the locations of each of your files. This may not sound like a big deal, but those of us working in giant codebases don't want to spend lots of time searching through directories.

etc.

I respect your decision not to use an IDE, and I don't think it's a strange one, but you're intentionally closing your eyes if you don't realize that there are advantages (along with the disadvantages) to using an IDE.


#4850006 C++ or another language

Posted by A Brain in a Vat on 16 August 2011 - 01:45 PM

It took me about 10 years of writing C++ code to understand that C++ sucks in a lot of ways. And "intuitive" is certainly not a word I'd use to describe lots of C++. Parts of C++ are "second nature" to me, but that's because I've gotten used to them. That's wholly different from "intuitive".

Useful: yes
Powerful: yes
Intuitive: no
For beginners: not most


#4849896 [Theory] Unraveling the Unlimited Detail plausibility

Posted by A Brain in a Vat on 16 August 2011 - 10:10 AM

It probably doesn't use ANY arithmetic instructions. It's probably a brand new, revolutionary algorithm that uses Hope and Wish instructions.


#4849575 MMORPG - What language, what engine, where to start?

Posted by A Brain in a Vat on 15 August 2011 - 03:26 PM

I have been programming for 14 years, made many games. I don't think I would want to tackle a MMORPG alone...They are severely complex require a very large knowledge and understanding of creating games and networking. You need to be quite versed in programming (most games are C++ based) before you even think of doing a MMORPG. They are not something you can just do as a first project. Even a basic RPG is more of an advanced type of game to program. Using an engine may make the process easier, but even making an interesting game with Game Maker/ RPG Maker will be difficult and wont be an MMORPG. 3D MMORPG using to Torque engine may be better to use but even then.

Point I am trying to make. Make a RPG even a basic one then move to MMORPG something like Diablo 2, getting the basics of networking down and what is needed to move from a RPG to an MRPG to MMORPG.

If you haven't been to school to learn programming like me, I wouldn't try to just jump into a MMORPG.

If you want to learn to do it anyways. Learn C++, get into the OOP aspects, learn DirectX or OpenGL VERY WELL, learn how to do networking, Client/Server stuff. If you really want to learn how to program a MMORPG while learning to program and actually manage to pull it off, you will be doing EXTREMELY well.


LOL, is that profile pic a joke or something?


#4848295 Advise needed programming a device driver.

Posted by A Brain in a Vat on 12 August 2011 - 10:37 AM

That's very ambitious :)

Device drivers are typically written in C. You're going to want to spend a lot of time learning C quite well, before you even think about writing a device driver.

Regarding what Seraph said...

Don't try to write this driver if you just want to use your joystick. Only embark on this if it's because you want to learn how to write drivers, because you're interested.


#4847925 [Theory] Unraveling the Unlimited Detail plausibility

Posted by A Brain in a Vat on 11 August 2011 - 03:18 PM

Okay, okay, I get it. The joke's on me. You're a troll.


#4847912 [Theory] Unraveling the Unlimited Detail plausibility

Posted by A Brain in a Vat on 11 August 2011 - 02:44 PM

What do you not get about Bruce Dell being a marketing guy and John Carmack being an implementation guy? They talk to the press differently. When you read MSDN blogs they read differently than when you listen to an interview with Steve Balmer, because Balmer is marketing and MSDN blogs are explaining. If you want to see it for yourself go to GDC and walk around the show floor. You'll hear it from EVERY representative on the show floor; they sound just like Bruce Bell. You can even go back to the conference away from the show floor and hear people that work at the exact same companies on the exact same products talk to you the way John Carmack explains stuff.

In fact I'm fairly sure I've heard iDtech 5 pitched with the line, "unlimited texture detail."

Thanks for keeping it civil though.


It's hard to keep things "civil" with you because you continually make things up to back your "arguments". I've gone through it with you in multiple threads regarding multiple topics. You're the type of arguer who doesn't care about reaching the truth, you care about coming up with some argument that can counter what someone just said, ignoring how connected to reality it may be.

Bruce Dell is a marketing guy? What makes you say Bruce Dell is a marketing guy??? Bruce Dell is a programmer.who founded his own company. John Carmack is a programmer who founded his own company. Both give demos about their tech to the press. BRUCE DELL IS A PROGRAMMER! I suspect you know this, you just are so incapable of admitting you're wrong that you cannot admit it.

Here's how it went. You were arguing that Bruce Dell's description of his tech is feasible. Most people disagreed, and gave plenty of reasons and evidence to that point. Rather than say "Okay, you guys are right, he's a liar" your brain immediately starts searching for a way to shift the argument to avoid being wrong, so you start talking about how we shouldn't be so nitpicky because this is "marketing talk" and everyone does this. When i point out that not everyone does it, with the example of John Carmack who could lie about the "unlimited detail" of his product but chooses to instead give us the truth, your brain starts looking again for a way out, and you land on the lie that Bruce Dell is excused from it because he's a "marketing guy", when in reality you know that he's a programmer just like John Carmack is.

Your inability to argue points like a big boy is disgusting and is to the detriment of this whole forum.


#4847796 [Theory] Unraveling the Unlimited Detail plausibility

Posted by A Brain in a Vat on 11 August 2011 - 11:57 AM

John Carmack also isn't marketing his product in most of his demos. He's explaining it. There's a stark difference. I have heard other people from Zenimax marketing it and it sounds pretty much the same. Similar things have also been said about CryEngine and Unreal engine in different aspects of the engine; IE: "X is 10000 times better at Y than everything else."


How is what John Carmack is doing in this video different from what Bruce Dell is doing in the last video posted? It's the exact same thing. You just say anything you can to win an argument, without caring about truth or validity, don't you? What's the stark difference? You should be ashamed of yourself. Do you work for Euclideon or something?

And you're lying about Zenimax marketing MegaTexturing in a similar way. Show us.


#4847769 [Theory] Unraveling the Unlimited Detail plausibility

Posted by A Brain in a Vat on 11 August 2011 - 10:53 AM

I guess it could, but you'd have to convert it and then check it to make sure it's optimized. Ideally this uses the same data that you get from the scan itself, so there's no need to look at the data after scanning it in.

I think a lot of people are reading way too far into his marketing speak and nitpicking him for it. What he said is no worse than anything any marketing rep/president would say about their company to the public when announcing a new product.


That's not true. In the video above, John Carmack is completely honest about the abilities of his technology. He could call it "unlimited detail" if he wanted to, but he doesn't. That's because he's a person with enough integrity to tell the truth.

The fact that you so easily give a pass to lies because they're made in order to market a product says a lot about you. You might have a future in business, your ethics are slimy enough for it.

Looking at this from a pure marketing perspective, Dell seems to have done wonders -- everyone is talking about his tech. But we don't know if he's made a critical mistake. If the public at large starts talking about his extreme exaggerations, who knows what his investors will do. I hope they sue him to get their funds back, personally. I'll stop there -- we don't know if he's committed actual fraud because we don't know what he told investors behind closed doors.


#4846922 [Theory] Unraveling the Unlimited Detail plausibility

Posted by A Brain in a Vat on 09 August 2011 - 04:09 PM

There's a trick often used in voxel formats to store metadata in higher nodes. Someone mentioned normals earlier. If you store normals/contour data at higher levels in the tree you can feed that into a procedural algorithm along with say texture data to procedurally generate a surface with a certain texture. The lack of research into those areas doesn't mean it's not possibly. :wink:


How could you possibly "store normals at higher levels in the tree"?? The real surface normal at any given surface voxel depends enormously on the positions of the surface voxels around it. Two voxels at the same SVO level might have normals that are pointing 180 degrees from each other. How could that information be stored higher up in the tree?

You're suggesting that we procedurally generate normals and map them to voxels? That will look like shit, and that's why no one has done research on it. The only two options that make sense are to 1) store the lighting information or 2) generate it by analyzing the neighboring voxel information.

Imagine a traditional mesh. Imagine how shitty it would look if we procedurally generated the normals at each vertex. We don't do that -- we either store the lighting information at each vertex, or we have map a texture to it that is of finer scale than our vertices. We don't do it in meshes and no one would do it with voxels.

What you're trying to get at is that it's certainly conceivable to procedurally generate lighting perturbations at a finer scale than our voxels, but that's not really relevant to what we're talking about. We're talking about whether you'd need to store lighting information at each voxel.


#4846726 I want to be a game developer... now what? A beginners guide to game develop...

Posted by A Brain in a Vat on 09 August 2011 - 09:14 AM

My advice.

For the aspiring game development professional: Don't make games. It's a waste of time. Make demos showcasing your mastery of techniques that are used in games. Games and game engines are tedious to make and involve lots of code that isn't very interesting and isn't showcasing any skills. It's very likely the company you're hired into will already have at least the base of a game engine in place, and if they don't, it's very unlikely that you're going to be the person who's responsible for writing it -- so showing that you have the ability to implement challenging and interesting techniques maps much better to the role that you'll actually end up playing. A really cool tech demo has much more punch than a crappy game, though the game probably took a lot more time to make.

For the hobbyist: Do whatever seems fun. If you're the type that likes to make things from scratch, then I suggest a higher-level language like python or C# (SlimDX or XNA, for example). If you just want to make the game, I suggest tools like Unity3D or UDK that let you focus on the actual game and take care of everything else.




PARTNERS