Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Aeroum

Future Visual Programming Evolution

This topic is 5475 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I''ve been researching many programs and such for making coding much quicker. What started this, was when I was thinking I needed a code editor with the ability to collapse code, in order to hide things. Now all the stuff I''ve found is very limited or has a few problems that make it very annoying. Right now I code in C++. What I would like to see is a editor, or IDE, in which you don''t have to worry about the individual files. Such as .h or .cpp. Imagine, creating a class, declaring the methods of the class, and then clicking a plus sign next to each function of the class and editing it right there. And then this IDE, or whatever, will ''compile'' the .cpp and .h source files accordingly. Most of the time when I create classes in C++ I usually do not define the methods inside the class block, because it simply takes up too much space. And usually causes problems, using things that have not been defined. And to have seperate .h/.cpp files pairs for every single class, soon ends up in hundreds of files for a large project. It becomes a huge pain to sort through no matter how good or organized of a coder you are. If all your classes were listed, maybe as objects, and you could see them individually, this would be wonderful. There are many other features I''ve thought of, but these are just a few. Now I know a lot of people are pretty..."late adopters" and do not like new things. Some of these people also seem to think that there are no "quick shortcuts" and stuff like that. Now I''m not talking about some neural network thing that converts human language to code. But this would be a pretty big undertaking. But think about this, a long time ago, people thought using machines to automate tasks would not work, some influencial people thought that the concept of television would not be a viable option for public. I''m sure when people started editing text to program instead of punching in statements on cards, some people were against that too. Right now I am a DirectX graphics programmer. But due to there not being any programs that I can find which I have spoken of, I will attempt to create some myself. What would be nice, what I would suggest, is that there is some board or something, a group of people who would undertake on a project like this, for the common good of all programmers. The fact that 3DS Max costs over 1000$ and that it has taken years to develop is ridiculous and shows how primitive our current programming situation is. Why do we have to worry about what order variables are created? Let''s say you were building a LEGO model house in real life. All the lego blocks are then, there is no order they are created. While the processor works in a very sequential manner, unless trying to improve performance, there is no reason we should have to be sequential. Or not as rigidly anyway. Programmers are SUPPOSED to automate tasks, right? That is what we do. We make it possible for a computer to compute trillions of calculations in things such as radiosity and create brilliant near photo-realistic scenery. Programmers create things that help advance civilization to a much higher standard of living. Now why can''t we even help ourselves? Aeroum

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
Lofty goals for sure, and I wish you luck, but dude...have you ever written a compiler? You say you code in C++, is this your only language? There are plenty of other languages that are better in certain situations, maybe you are using the wrong language for your task.

Share this post


Link to post
Share on other sites
Aeroum,

I too have had many of the same sentiments. I really do think, even for C++ code, that the tools we use could be a world better!

For instance, one of the things I''d like to be able to do is to quickly map out class hierarchies in a graphical way. I''m not crazy about the UML layout per se, but basically something like that. There are some programs that kind of do this already, but all the ones I found looked absolutely archaic. Another thing that ties in with this would be if you could do things like go back and rename your classes/functions/variables/etc and have those changes rippled throughout your code.

I think things like this would make managing more complex code bases not only faster, but it''d also make it easier to understand the resulting code. Anyway, I think an evolution for code editing tools is certainly in order. The only thing that''s held me back from attempting this myself is the large amount of time it''d take to do it right.

-John

Share this post


Link to post
Share on other sites
I agree with AP. The problem is largely in the language. Also, you should try some wicked Java IDE like IntelliJ IDEA (or Eclipse I've heard) to see what an editor can do for you.. Such good editors don't exist for C++ though since the language is so hard to parse (macros, template metaprogramming etc. they all screw it up). I can see why such an editor would be handy for C++ too, but it's probably just too much work to get right and C++ is slowly but surely dying anyway </flamebait>

Another approach is to look at Python and see what the language can do for you.

quote:
Another thing that ties in with this would be if you could do things like go back and rename your classes/functions/variables/etc and have those changes rippled throughout your code.
For example, this works in most Java IDEs perfectly. And it's the simplest type of automated refactoring. Wait till you get to use "extract method".
quote:
For instance, one of the things I'd like to be able to do is to quickly map out class hierarchies in a graphical way.
IDEA has plugin for this.
quote:
Anyway, I think an evolution for code editing tools is certainly in order.
Revolution has already happened, you just didn't know about it

p.s. I don't work for IntelliJ

[edited by - civguy on September 23, 2003 3:13:10 AM]

Share this post


Link to post
Share on other sites

quote:


What started this, was when I was thinking I needed a code editor with the ability to collapse code, in order to hide things.




VS.NET 2003 IDE already has this option. In fact, I like a lot of the VS.NET IDE coding options. It just feels very natural.
When coding C# (like I''m doing now) you also don''t have to worry about .h / .cpp files.

There''s also an application that comes with VS6 in which you can build an UML diagram of classes. Forgot the name of that program (check start->programs->VS->applications or something). This program has the ability to create VB or Java codes based solely on the UML class diagram. Never tried it before (anyone else?), but I do know that they even have some similar programs for embedded applications.

The problem is that you don''t want your editor to get too ''smart''. A useful reminder is the MS Word ''smart-ness'' which always thinks it has a better view on layout-issues and complete ruins your whole document.

Renaming classes? Goto Edit->Replace (make sure you use case sensitive replacements). Costs me about 1 second.

I study Computer Sciences right now, and as such I''m not too fond of MS, but I suggest you take a look at the .NET IDE, as to me it feels very clean, tidy and natural.

Anyone else feel the same?

Edo

Share this post


Link to post
Share on other sites
quote:
Original post by edotorpedo
There''s also an application that comes with VS6 in which you can build an UML diagram of classes. Forgot the name of that program (check start->programs->VS->applications or something).


Ehm, Visio?

Share this post


Link to post
Share on other sites
quote:
Original post by edotorpedo
Renaming classes? Goto Edit->Replace (make sure you use case sensitive replacements). Costs me about 1 second.
What if there are two classes with same name but in different namespaces? And the more common cases are function renaming, member variable renaming and local variable renaming. Edit/Replace can't handle any of those reliably, since these names are often commonly used across different classes/functions.
quote:

I study Computer Sciences right now, and as such I'm not too fond of MS, but I suggest you take a look at the .NET IDE, as to me it feels very clean, tidy and natural.

Anyone else feel the same?
Definitely no.

[edited by - civguy on September 23, 2003 6:02:34 AM]

Share this post


Link to post
Share on other sites
I don''t see why you need all these things.. Say you wanna create a class ehm.. *thinks, this is a gamedev forum* a class Warrior, personnally I just naturally create a warrior.cpp and a warrior.h, it takes like 5 seconds.. I declare my class, and WHY would I ever change its name? If you want the tools to even write all your code, maybe programming is not for you..
I don''t say, for example, VC++ wizards are a bad thing (they can be useful when they generate a skeleton code), but for creating files? Come on, it''d take longer to click in the menu to add the class and set its options than to write it...

Share this post


Link to post
Share on other sites
quote:
Original post by mputters
Come on, it''d take longer to click in the menu to add the class and set its options than to write it...
You only know the wrong way to do automation - The VC way. But the point in this topic was, I assume, to think of IDE features that are good, not bad.

Share this post


Link to post
Share on other sites
quote:
Original post by mputters
I declare my class, and WHY would I ever change its name?
Not everyone can think of a perfect name immediately, for every class. Maybe you''re that good, but at least I''m not, nor many other programmers I know. I just recently renamed ByteStore => Memento, as the class evolved. Most classes aren''t models of real life, such as Warror or Banana, whose names are unlikely to change.

With functions and variables, it''s even more common to rename them. If the renaming is easy and reliable, people will do it instead of stick with a mediocre name. I think that''s very important.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!