Jump to content

My opinion on coding/programming and how to approach various questions.

Lumi

This is all my opinion, feel free to disagree with me.

 

Over my time here and many other forums I've started to notice trends in the coding / programming sections of the forums.

 

Many times there's "What IDE should I use?", "What books should I read?", and "Is it difficult?" threads.

 

The answers to these questions are;

Depending on the language, none.

Books will not help you get far in programming.

In itself, it's not difficult, it's repetitive and requires self discipline to read, write, repeat until you have it down.

 

So to move on in depth on these here's my opinions.

 

IDE's/Text Editors;

In my few years of experience with coding / programming in (C, C#, PHP, NodeJS, and just HTML/CSS) i've noticed that the only language an IDE was even useful for was C# (C if working with the windows API). The rest are best to just use a text editor like Sublime without all the fancy stuff. 

 

Don't have the money for a Sublime license?

No worries, here's some equally as good text editors:

Notepad ++

Atom

Brackets

 

Why (in my opinion) books are not a good idea.

When I first looked to getting in to coding/programming I was reading a book on php. I got pretty bored and all I learned how to do was make what was in the book. It didn't really explain other scenarios I could use the same knowledge in. You could argue it wasn't a good book, yes but overall, books just run you through making certain things. How I actually got jump started into the language was codecademy just to learn the very basics. Maybe did ~15-20% of the course. From there I just tried to make things I wanted to make. If I didn't know how to do it I did, yeah the thing that beholds all answers. I googled "how to do >insert thing in >insert language. From there I would see things like stackoverflow questions and answers explaining built in features to the language but I was still confused. Stuck right? No. Documentation is the answer. For every language I've seen there has been FULL documentation on the language with each individual doc telling you what does what and giving examples on how to use it properly/safely.

 

Is it difficult.

In my opinion, no. It's not difficult, it just requires a great amount of patience, self discipline, and time to get it all down. Every developer I know copy and pasted 75% of their code when they first started. Not because they wanted to use others code, but so they could remember it, analyze it, and think of more efficient (if possible) ways to write it. It gets it stuck in your mind.

 

This is all my opinion, I felt like writing this because I see threads about these mainly these 3 things constantly on every forum I visit. I hope this helps some people. If you're an experienced developer and would like to add something let me know.

i want to die

Link to comment
Share on other sites

Link to post
Share on other sites

Visual Express is also a really good coding platform. 

Hardware: Intel I7 4790K 4Ghz | Asus Maximus VII Hero Z97 | Gigabyte 780 Windforce OC | Noctua NH-U12P SE2 | Sandisk Extreme Pro 480GB | Seagate 500Gb 7200Rpm | Phanteks Enthoo Luxe | EVGA Supernova G2 850W | Noctua NF12 | SupremeFX 2014 | Patriot Viper 3 16GB.

Gaming Gear: Cooler Master TK Stealth | Sennheiser PC350SE | Steelseries Rival | LG IPS23L-BN ' 5ms | Philips Brillians 144hz 

Link to comment
Share on other sites

Link to post
Share on other sites

It's difficult for people with ADD or similar conditions that will get easily bored from staring at code for long periods of time.

If someone has time, patience, and determination, they will have a great time coding.

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

Yeah, it's all about trying stuff and doing stuff.

You're not gonna learn anything from just 1 book or tutorial. but rather from multiple ones and just trying stuff.

"We're all in this together, might as well be friends" Tom, Toonami.

 

mini eLiXiVy: my open source 65% mechanical PCB, a build log, PCB anatomy and discussing open source licenses: https://linustechtips.com/topic/1366493-elixivy-a-65-mechanical-keyboard-build-log-pcb-anatomy-and-how-i-open-sourced-this-project/

 

mini_cardboard: a 4% keyboard build log and how keyboards workhttps://linustechtips.com/topic/1328547-mini_cardboard-a-4-keyboard-build-log-and-how-keyboards-work/

Link to comment
Share on other sites

Link to post
Share on other sites

Yeah, it's all about trying stuff and doing stuff.

You're not gonna learn anything from just 1 book or tutorial. but rather from multiple ones and just trying stuff.

I guess the point I was trying to make is, books etc will only get you so far. It's like the book is your parents after a while you need to leave them and go on your own in a sense. That and you're going to get the same answer so many times if you ask the same thing as 9999 other people.

i want to die

Link to comment
Share on other sites

Link to post
Share on other sites

The only part I disagree with is with IDE's.

 

Yes when working on small projects Notepad, Notepadd++, Sublime Text or whatever are great. However, as systems become more complex, use Object Orientated PHP or you use a framework an IDE becomes an invaluable tool for navigating through what could be thousands of files.

 

Also knowing how to use IDE's correctly is important, when interviewing for a job you will be asked which IDE's you have experience with. Writing code in Notepad might sound cool to your mates but a business will know you will find it difficult to lean a new IDE as well as learning how their code is structured and how it works.

Link to comment
Share on other sites

Link to post
Share on other sites

I agree with Brenz  on the IDE here.

 

You may only NEED a notepad to code, but you can become so much more efficient with an IDE. If you do this for a living you need to be productive and efficient.

Link to comment
Share on other sites

Link to post
Share on other sites

Visual Express is also a really good coding platform. 

 

Visual Studio Community Edition > Visual Studio Express. Welcome to the future...

Link to comment
Share on other sites

Link to post
Share on other sites

IDE's/Text Editors;

In my few years of experience with coding / programming in (C, C#, PHP, NodeJS, and just HTML/CSS) i've noticed that the only language an IDE was even useful for was C# (C if working with the windows API). The rest are best to just use a text editor like Sublime without all the fancy stuff. 

 

A good IDE has/is a good text editor (plus other features).

I am tired of all those codinghipsters who think they are so much cooler when using a bare text editor.

Most of them have no knowledge about how to use an IDE, nor how to use that text editor they are praising.

 

 

Why (in my opinion) books are not a good idea.

When I first looked to getting in to coding/programming I was reading a book on php. I got pretty bored and all I learned how to do was make what was in the book. It didn't really explain other scenarios I could use the same knowledge in. You could argue it wasn't a good book, yes but overall, books just run you through making certain things. How I actually got jump started into the language was codecademy just to learn the very basics. ...

Learning programming is like learning a language. you will need those grammar books and dictionaries to learn the language, but you won't be able to write a good book or technical document right away, nor will those grammar books teach you how to write one.

Codeacademy is nothing more than a fancy online book. If your experience with that PHP book was bad, than most likely the book was just bad.

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

Thank you, I completely agree about the IDE thing. I try to tell people here on the forum that using IDEs for stuff like java, c++, python, etc when making console applications is pointless, and they get mad at me. Obviously if you are working on a large program or something that needs a graphical interface and uses large frameworks like QT or .NET you are gonna wanna use an IDE but for school projects and such, no reason to.

 

I think that you actually learn better when you code with something like sublime or np++ because you are not relying on the IDE to help you.

 

But in the end, it's all down to personal preference.

Link to comment
Share on other sites

Link to post
Share on other sites

Thank you, I completely agree about the IDE thing. I try to tell people here on the forum that using IDEs for stuff like java, c++, python, etc when making console applications is pointless, and they get mad at me. Obviously if you are working on a large program or something that needs a graphical interface and uses large frameworks like QT or .NET you are gonna wanna use an IDE but for school projects and such, no reason to.

 

I think that you actually learn better when you code with something like sublime or np++ because you are not relying on the IDE to help you.

 

how is it pointless when it can help you save a lot of time?

Mini-Desktop: NCASE M1 Build Log
Mini-Server: M350 Build Log

Link to comment
Share on other sites

Link to post
Share on other sites

I think that you actually learn better when you code with something like sublime or np++ because you are not relying on the IDE to help you.

 

Learning how to properly use IDE's is also important so you are better off using one whenever possible.

Link to comment
Share on other sites

Link to post
Share on other sites

I am not saying that IDEs are a bad thing, they are great tools for writing, debugging, building, and managing code but all I am saying is that for small projects, they are not really necessary. Pointless was a harsh word and I apologize for saying that. Yes, knowing how to use an IDE is important but knowing how your projects are built and managed is what you should be learning first. I was in a class a while back where we were using visual studio and 80% of the class didn't even know what the files in the project folder are for and what files contained what. This is the problem.

Link to comment
Share on other sites

Link to post
Share on other sites

The only part I disagree with is with IDE's.

 

Yes when working on small projects Notepad, Notepadd++, Sublime Text or whatever are great. However, as systems become more complex, use Object Orientated PHP or you use a framework an IDE becomes an invaluable tool for navigating through what could be thousands of files.

 

Also knowing how to use IDE's correctly is important, when interviewing for a job you will be asked which IDE's you have experience with. Writing code in Notepad might sound cool to your mates but a business will know you will find it difficult to lean a new IDE as well as learning how their code is structured and how it works.

I use sublime text for object oriented php and C (when developing on linux)

i want to die

Link to comment
Share on other sites

Link to post
Share on other sites

how is it pointless when it can help you save a lot of time?

text editors like sublime have plugins to auto complete statements in a wide variety of languages, so basically an IDE for anything but graphical work is not necessary.

i want to die

Link to comment
Share on other sites

Link to post
Share on other sites

"Codeacademy is nothing more than a fancy online book. If your experience with that PHP book was bad, than most likely the book was just bad."

Codecademy/books are only good for bare essentials of a language. The rest should be done by messing around / reading documentation. (In my opinion) Please remember, this is an opinion thread, not a fact thread.

i want to die

Link to comment
Share on other sites

Link to post
Share on other sites

You don't NEED a sublime text license. It's free but has a small popup every so often, for me it's not that big of a problem that im gonna not use sublime cause of it.

Yeah, that's true. I personally would buy a license to support them because it's the best text editor/world.

i want to die

Link to comment
Share on other sites

Link to post
Share on other sites

I really have to comment on this

 

...

 

Books will not help you get far in programming.

 

...

 

Why (in my opinion) books are not a good idea.

(rest of explanation)

...

 

 

You have an unfortunate and unrealistic expectation of books that I hope you'll change. They are perfectly acceptable for introducing someone to programming and you shouldn't suggest otherwise. Any decent beginner book will teach someone the basic syntax and features of a language along with basic programming concepts and an intro to commonly used libraries. Examples in books are there to show you how something is being used, not to cover every possible outcome that exists.

 

Telling someone to go look at language/API documentation without any previous knowledge isn't going to help them much unless it has some form of structured tutorial to go with it. Learning from a written tutorial is really no different than learning from a book or learning from video tutorials. It just depends on what medium a person prefers to learn.

 

Sure, documentation is important (especially for APIs) and people should learn to use it early, but it's not where you need to start because there are many options for where to start. And no matter what resource you use to help you learn (most likely a mixture of resources), you'll always need to get better from practice and experience.

 

Books can also be a good resource for covering advanced topics as well. So yes, books can help you get far in programming and can be a good idea. No one should limit themselves with the types of resources they choose to help them learn.

Link to comment
Share on other sites

Link to post
Share on other sites

Here's my take on the IDE vs text editor debate. Unless you're required to use one over the other, try both and stick with whatever you prefer. It's fine to tell people what you prefer, but encourage them to find what works best for them.

 

I am not saying that IDEs are a bad thing, they are great tools for writing, debugging, building, and managing code but all I am saying is that for small projects, they are not really necessary.

 

That stuff can be helpful no matter the size of the project. Just because something isn't necessary, doesn't mean a person wouldn't rather have them around anyway.

 

Yes, knowing how to use an IDE is important but knowing how your projects are built and managed is what you should be learning first. I was in a class a while back where we were using visual studio and 80% of the class didn't even know what the files in the project folder are for and what files contained what. This is the problem.

 

Sure that's a great thing to know. So is learning to debug your applications without needing to modify your code (like with print statements). Each have their pros and cons even at a beginner level.

Link to comment
Share on other sites

Link to post
Share on other sites

"Codeacademy is nothing more than a fancy online book. If your experience with that PHP book was bad, than most likely the book was just bad."

Codecademy/books are only good for bare essentials of a language. The rest should be done by messing around / reading documentation. (In my opinion) Please remember, this is an opinion thread, not a fact thread.

 

Why do people throw the phrase "in my opinion" around like a talisman against opposing viewpoints. Yeah, we assume it's your opinion because you said it; that's generally a good clue.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×