The VG Resource
Programming languages and software design interfaces - Printable Version

+- The VG Resource (https://www.vg-resource.com)
+-- Forum: Discussion Boards (https://www.vg-resource.com/forum-133.html)
+--- Forum: General Discussion (https://www.vg-resource.com/forum-134.html)
+--- Thread: Programming languages and software design interfaces (/thread-28510.html)



Programming languages and software design interfaces - miyabi95_ - 01-09-2016

I felt like starting a discussion on this topic. Since computers aren't only used to draw and play games, you sillies Tongue.

I signed up for some programming classes from my online college in order to jump further into software design. Up until now, I've only had knowledge of drag and drop interfaces as seen in Clickteam products and whatnot, and also Java programming interfaces such as jGRASP and TextWrangler (that I learned in my first year of college from computer science classes).
I noticed something while learning about Java coding though...I noticed a bias. Maybe the people in my college were just super competitive, because they tended to debate over what programming interfaces were considered "cheating" and what interfaces were considered "challenging." 
Imagine if you told someone that you use PaintTool SAI for your work, and they replied back, "You shouldn't use that app. It really puts you at an advantage because of all of the customizable features. You should totally consider using Photoshop because it doesn't hold your hand through the drawing process." (not throwing any jabs at those apps, this is purely an example) I would be taken aback by that, to be completely honest. I'd rather use a program that I'm personally comfortable with using, rather than use a software that would require me to "figure out" more things on my own (Again, I've never used SAI before, so I have no opinion for or against it).
With that said, I've come across these situations with programming interfaces. More specifically, there's the debate between jGRASP and Eclipse, two commonly-used apps for object-based coding. Apparently Eclipse is considered a child's interface due to the way it fills in the blanks for you while writing code. On the other hand, jGRASP starts you from scratch with very few features to help you along the way. What I don't understand is why some of the faculty working in the computer science department of my college tried to force a software like Eclipse out of the curriculum, despite the fact that many students used it to create programs. In my opinion, you should use a program that you feel comfortable with when creating anything. Games, music, programs, art, whatever. It shouldn't matter to other people. They're just have that competitive mindset that tends to make them seem...Elitist at best.
I mean...Of course, it's not professional to be lazy. But is it lazy to have a program guide you through a process?

What is your opinion on the matter? Or if you don't wanna continue with it, you can just talk about your experience with programming Tongue.


RE: Programming languages and software design interfaces - puggsoy - 01-09-2016

I agree with you. People should just use whatever tools they are most comfortable with, because if you're not comfortable then you're not productive. If someone prefers to code in Notepad, good for them. If someone's making a game in Game Maker using drag-and-drop tools, that's fine.

Personally, I like tools that give code completion and can generate stuff. Coding is about constructing a program that does stuff, not about gruntwork. If a tool cuts out the gruntwork by completing words for me, then that means I can write more words in a shorter amount of time. Same goes for if an IDE, for instance, can promote local variables to class members for me. Instead of having to copy-paste, removing declarations etc, I can just use the right-click menu and it does it for me. Renaming is also a feature I could never go without.

That's my opinion, although I do think that most people should use these kinds of IDEs. I always recommending at least trying them because they objectively save time and therefore increase productivity and efficiency. But of course, if they're uncomfortable with it then they shouldn't use it. People should always be comfortable and enjoy coding.

However, anybody who thinks these kind of environments are lazy, and that the "real" way to program is by typing every single character is just, as you said, elitist at best. One could use the same argument to say that programming languages and compilers are lazy, and that you should just write the executable yourself. And not with a hex editor, that's cheating. Type the zeros and ones yourself. Actually, using a keyboard is way too much help. Take out the hard drive and imprint the bits onto the disk with your bare hands Smile

It's like what Carl Sagan said: "If you wish to make an apple pie from scratch, you must first invent the universe." I'm not going to bother, I may as well use the apples from this universe that already exists.


RE: Programming languages and software design interfaces - Gamerz31w - 01-09-2016

This could be useful for my Jazz Jackrabbit 1 HD Remake.


RE: Programming languages and software design interfaces - DarkGrievous7145 - 03-09-2016

text wall, ignore if not interested:
tl;dr:
It definitely should be up to the individual what they use. Even mediocre tools/languages/technologies can do incredible things if the programmer knows how to use them to their fullest potential. Although, if there's a 100% legitimate reason not to use the language, especially for your purposes, it might be best to not use that language. For example, making an MMO with batchscript, just to name a very extreme case. (I've seen, however... some amazing shit written purely in batch. And what shit I've seen, I have tremendous respect to anyone who can make it do the stuff it was doing.)

And the people arguing that just using, or having been exposed a certain language is bad/wrong...IRRITATING.
I dealt with one of these on youtube a few months back. Someone did an "hour of code" video with the Codebug.
There was this whole comment chain about how the drag 'n drop editors, and languages like BASIC were inferior/aren't effective at teaching, and one person went over the top and said the programmers or would be programmers with prior experience to this are already mentally corrupted just for that exposure. The thing with drag 'n drops is absolutely nothing to do with this method of coding, it's that the features are limited to whatever the underlying pre-built library/engine supports. It's obviously far from impossible to implement a fully functional drag 'n drop tool for any of the existing programming languages out there. It's just that no one has done it. (to my knowledge, anyways) As for the being mentally fucked for life, I simply refuse to believe this. Those that truly are dedicated, and want to improve, probably will. It might take some time, however. Even those that stick to the "bad/useless" stuff might create some impressive and quite functional applications with it, and develop a mastery of it. The individual to whom I made my point got into an argument over my miss-use of the word "racist". I pointed out there's not even a need to classify 20 versions of the same concept, in this case, discrimination. Anyways, after that, they continued to justify their discrimination, and eventually, one of us quit replying, forgot who. But yeah, that pissed me off, being both from the kind of programming background that apparently is "bad" , and having friends in the same boat.


RE: Programming languages and software design interfaces - miyabi95_ - 03-13-2016

That's clearly a lot of experience. You've come quite a long way, Grievous. :>


RE: Programming languages and software design interfaces - DarkGrievous7145 - 03-13-2016

Not as much as I'd hoped to have.

This is slightly borderline off-topic, but I had hoped to have more programming expertise / experience, and more actually finished or at least "working" programs/scripts/etc by now. This is one of the many reasons besides stress, that when I graduated high school that I waited college off for a year. It's now been two... because my mom kept bothering me, and just generally interrupting my activities, and making me stress over it, and my relationship with her. (Also didn't help what happened with my desktop.) Most days I was being bothered like... all day, or was stressing, or being depressed, or just having no motivation.

Thanks, I suppose, but I still feel significantly far behind where I should be. I do agree it's still a lot of experience, yes.

Anything else?


RE: Programming languages and software design interfaces - Koh - 03-14-2016

I agree that people should use what they're comfortable with, however, they should also understand the limitations and bounds of the shortcuts.

For example, I use Game Maker, but I don't use the drag and drop code replacements, because I'm aware they simply don't cover all the things you're going to need to take care of in a polished and intricate engine, as well as clutter up the event list. They're good for learning about elements of game design and programming, but they're no substitute for actually understanding how the logic works, and what else goes into implementing and polishing a mechanic. You can handle variable play within that just fine, but you can't do things like boolean arithmetic, or other kinds of intermediate to advanced calculations that you'd need to do for some of the fancier engine features. You also don't even have access to many of the functions that are available within the coding portion, such as file writing/reading or surfaces.


RE: Programming languages and software design interfaces - Phantom Killah - 03-16-2016

(01-09-2016, 02:00 AM)JazzGW Wrote: Apparently Eclipse is considered a child's interface due to the way it fills in the blanks for you while writing code

I work primarily with VB.Net in Visual Studio on a very large project, and I think I would blow my brains out if I didn't have code completion. I'm spoiled a little bit because the auto complete for VB.Net is amazing (it even does the text formatting and tab spacing for you!), but I always feel horribly slow when I'm working in an IDE that doesn't have any productivity features like code completion or advanced search options.

As a software developer you're paid to solve problems, so the less you have to worry about frivolous stuff the more you can actually focus on the problem. You're not paid by keystroke