Posts: 1,039
Threads: 43
Joined: Jul 2013
01-09-2016, 02:00 AM
(This post was last modified: 01-09-2016, 02:03 AM by miyabi95_.)
I felt like starting a discussion on this topic. Since computers aren't only used to draw and play games, you sillies .
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 .
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
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.
You may have a fresh start any moment you choose, for this thing that we call "failure" is not the falling down, but the staying down. -Mary Pickford
Posts: 72
Threads: 18
Joined: Dec 2015
This could be useful for my Jazz Jackrabbit 1 HD Remake.
Posts: 965
Threads: 20
Joined: Jan 2014
text wall, ignore if not interested:
warning: the order/details of these events may be off, my memory is fuzzy
I originally gained an actual interest in programming due to a video on youtube about batch script and using it for hacking school computers, and making fake BSODs and shit.
(ofc, batch isn't exactly a "programming language" , but it's still possible to create programs with it)
I tried at one time to learn C++ , this failed pretty badly.
I think the next thing I learned was html.
I self-taught myself the basics, but I don't remember where
I have actually made games on Sploder ,
and I've attempted it with Game Maker. Many of the gmk projects have failed. I still occasionally use gmk to test proof of concept when I don't have the time to write all the code to actually make something work.
Also tried out Python with PyGame, but this went south. Once I tried to add sprite animation and shit, FAIL!
I did take web design, I think my sophomore year in high school, but the first bit was catch-up, and the second bit was using DreamWeaver, a program I've since learned to hate quite a lot due to both limitations, and some of the code it outputs
I learned css from a combination of youtube and w3schools.
I learned JavaScript on youtube, specifically from TheNewBoston's videos. Up until then, the only JS I had even seen was obfuscated and/or minimized, and I couldn't make sense of it. I later learned html5 from him.
After learning about flash decompilers and Adobe Flash, I started to learn at least how to understand actionscript 1,2 and 3.
For as basic stuff, I can read and write as1 and as2.
as3 I can typically read, but I have yet to write any.
I've made a few attempts at Java.
I have tried some Assembly, but unlikely I'll do much with it.
I've forgotten everything I learned from the tutorial series I checked-out... lol!
I have joked with one of my friends about making an open source program to do something really cool,
in pure assembly (or in an esolang). For the sole purpose of pissing people off when they want/need to edit it.
I learned enough TI Basic to be dangerous. There were a few occasions after learning how to use it that I was busy writing some program instead of doing my Financial Algebra work lol! I have since downloaded the Wabbit emu and a copy of the ...which was it? I think TI-84 BIOS or ROM or whatever. I haven't messed with it since completing highschool. However, I might continue, eventually. One program I wrote with this was a simple, but effective memory hog. I think the teacher had to pull the batteries to reset it, iirc. My ultimate goal was to program a game, after I'd seen many people in my Algebra class playing games when I was a freshman. But, it took up till my senior year to even learn how to program simple shit, so...no games D: (admittedly, I didn't make any effort to learn it till senior year)
I started, but presently have abandoned, Processing.
That's the best i can come-up with for my roots/history with programming/hacking/whatever...
I agree it should be up to the programmer or artist what tools they use. What annoys me, though, is that when people say these programs are "easy" , or "instant happiness" , is that it simply is not the case. To get something really good, and not mediocre, there must be some kills present.
As for the auto-completion thing in some IDE'S/code editors, I tend to find this annoying sometimes, since they make, or try to make, the wrong guess.
I personally use notepad++ for the bulk of my code.
As for languages, I currently have been writing programs in JavaScript.
Being a member of Crystalien Redux, I do still write ActionScript code, also, but due to my computer situation, I can't compile it myself.
I hope to learn Haxe or how to write/use AS3 (besides actually make my own thing entirely from scratch with any version of AS).
I'm interested in C# or actually finishing something with Java.
If only because a lot of programs tend to use it, Python probably wouldn't hurt. I think half of what has happened there was its white space sensitivity.
I may or may not finish with at least, basic Assembly, or with Processing.
there's some goals
My preferences for a programming/scripting language (finding all is like, impossible):
flexible
not painful to use
not overly quirky
easy to debug/test
stable
fast
lots of features
So far, I really don't like JavaScript, especially when trying to do OOP. I know there's ways to, but I'm not ABOUT to manually type the code that makes it 'truly' behave this way. My present computer situation is partially why I've been using it so much. On the bright side, it's extremely easy to test.
ActionScript seems alright, and Flash has many of the things I like. It out-performs JS significantly. The two major flawa are that the IDE can easily crash (esp. on larger .fla's) , and that testing can be really slow when re-compiling a fairly large amount of code or assets.
Java's live debugging is wonderful, however there are a lot of things that presently confuse me about how it really works. I've heard the perforamnce and security also is questionable. (ofc, this makes me wonder why in the hell, and idc HOW much security they've laid on top, BANKS use it extensively.) The fact it's now almost universally blacklisted on web browsers (especially the unsigned applets) really pisses me off. I want to make some web games or programs in my time, so just that reason now makes me reluctant. The Eclipse IDE does seem to take a fairly large amount of resources. I can't seem to do much with it running. At least, this was last time I used it on my desktop. It was rather inconvenient with me trying to follow a tutorial, however. (besides hinders my music options if I want entertainment)
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.
Posts: 1,039
Threads: 43
Joined: Jul 2013
That's clearly a lot of experience. You've come quite a long way, Grievous. :>
Posts: 965
Threads: 20
Joined: Jan 2014
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?
Posts: 2,087
Threads: 125
Joined: May 2010
03-14-2016, 02:07 PM
(This post was last modified: 03-14-2016, 02:11 PM by Koh.)
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.
Posts: 2,365
Threads: 58
Joined: May 2008
(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
pkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
|