Jump to content

Programming : Where to Start

renchy_is_sketchy
1 hour ago, renchy_is_sketchy said:

wow thanks

About the going straight for it part , i think im gonna wait till spring break so theres no school , especially with exams coming up theres just too much going on at one time. 

But ill defiently do this course thank you.

 

 

Personally i stay away from python and java and would recommend c/c++ for the simple reason that it is cross platform, low level (so you actually learn important concepts and how everything works), very easy to read syntax (ignoring numerical anamolies and the like), its functional/procedural/object-oriented all in one, it is used in a lot of high paying fields further down the line, concepts from other languages translate to c++ given the different types of programming it can be, and it can be entirely learned by using everything to move around and work with numbers and variables.

 

I just think that dealing with others prewritten high level stuff is very complex compared to writting it yourself. But you could be very different from me in that aspect. 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

23 hours ago, Kamjam66xx said:

Personally i stay away from python and java and would recommend c/c++ for the simple reason that it is cross platform, low level (so you actually learn important concepts and how everything works), very easy to read syntax (ignoring numerical anamolies and the like), its functional/procedural/object-oriented all in one, it is used in a lot of high paying fields further down the line, concepts from other languages translate to c++ given the different types of programming it can be, and it can be entirely learned by using everything to move around and work with numbers and variables.

 

I just think that dealing with others prewritten high level stuff is very complex compared to writting it yourself. But you could be very different from me in that aspect. 

 

 

Well...I think C and C++ might be too hard for beginners, I think C# is a better coice because it combines syntax that is really similar to C with a few high level and concepts, basically it's a better mix between C and Java, the only problems are the forced object-orientation and the - compared to C/C++ - bad performance, but both should not be that big of a concern for a beginner.

~chrissx aka. that crazy german dude

A bad website

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, chrissx said:

Well...I think C and C++ might be too hard for beginners, I think C# is a better coice because it combines syntax that is really similar to C with a few high level and concepts, basically it's a better mix between C and Java, the only problems are the forced object-orientation and the - compared to C/C++ - bad performance, but both should not be that big of a concern for a beginner.

Forced object orientation is one of my biggest petpeeves. But i get where you are coming from. 

Link to comment
Share on other sites

Link to post
Share on other sites

Hey does anyone any good ways to get into C/C#/C++, because I can't find a good tutorial or lesson thing that was helpful

Link to comment
Share on other sites

Link to post
Share on other sites

 

13 hours ago, Stupidwithcomputers said:

Hey does anyone any good ways to get into C/C#/C++, because I can't find a good tutorial or lesson thing that was helpful

Siddhartha rao c++ book from Sams. Got it at barnes and nobles, and thats how i started. 

1547175095009490777618.thumb.jpg.260ae5303a7491194b3e0edcf9626011.jpg

Then refined with TheChernoProject a c++ devs channel from EA games, or used it when i got stuck.

C++ institute and their online course forced me to master the syntax of c++, they have a great course. Navigate to the self study course on Pearson Vue

https://cppinstitute.org/self-enroll-courses

 

And then there is a few free books in .pdf form, as well as case studies on advanced concepts published from great colleges. You can expand with a book on multi-threaded applications with c++, or a book on STL.

 

Hope this helps, its the path i took. From c++ to c & c# isnt that complicated.

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/8/2019 at 2:48 PM, Radium_Angel said:

If you want to *really* start with the err...basics...start with BASIC (I believe there is a free version called Visual Basic) and get your core programming concepts down. Then move to Pascal (although no longer used, it forces proper programming techniques) and go from there. Of course, you could go all out and learn Assembly, the language of the machine itself, like I did, but it takes many decades of therapy to expunge it from your brain?

I have to learn Assembly in school and was really glad when my teacher introduced C and everything got easier.

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, Stupidwithcomputers said:

Hey does anyone any good ways to get into C/C#/C++, because I can't find a good tutorial or lesson thing that was helpful

For C# all introduction level book will cover everything you need.

If the book mention a version of C# anything 6.0 and up are recent enough. (6.0 is what Visual Studio 2015 uses by default)

Just note that the version is not super important as versions only add more features.

 

This book is a favorite of mine for beginners https://www.amazon.com/gp/product/047019135X/ref=dbs_a_def_rwt_bibl_vppi_i6

I also own the another beginner C# book written by Karli Watson and he co-wrote on the one above too.

2008 is not new but basics did not change. I bought it a long time ago to teach a couple friends that wanted to start programming. I still pass it around these days.

 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, Mephi00 said:

I have to learn Assembly in school

You have my sincere condolences...

NOTE: I no longer frequent this site. If you really need help, PM/DM me and my e.mail will alert me. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 hours ago, Radium_Angel said:

You have my sincere condolences...

I still can't figure out why people are so afraid of assembly. I'm not going to claim that it's actually useful to know from an application development perspective, but I've always found assembly fun, and easier to grasp than higher level languages. Granted, most of my practice is with AVR and PIC. I can't stand x86.

ENCRYPTION IS NOT A CRIME

Link to comment
Share on other sites

Link to post
Share on other sites

18 minutes ago, straight_stewie said:

I still can't figure out why people are so afraid of assembly. I'm not going to claim that it's actually useful to know from an application development perspective, but I've always found assembly fun, and easier to grasp than higher level languages. Granted, most of my practice is with AVR and PIC. I can't stand x86.

I learned Assembly on IBM Mainframes. Custom iron, not even remotely x86/64. This is perhaps why...

NOTE: I no longer frequent this site. If you really need help, PM/DM me and my e.mail will alert me. 

Link to comment
Share on other sites

Link to post
Share on other sites

52 minutes ago, straight_stewie said:

I still can't figure out why people are so afraid of assembly. I'm not going to claim that it's actually useful to know from an application development perspective, but I've always found assembly fun, and easier to grasp than higher level languages. Granted, most of my practice is with AVR and PIC. I can't stand x86.

I got a course on udemy for Assembly with ARM chips and im excited to do it. But i gotta finish learning openGL, vulkan, and how to make game engines first. Still i completely agree that low level stuff is way easier to understand.

 

OpenGL is low levelish, and its a blast. Its fun to play with.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, straight_stewie said:

I still can't figure out why people are so afraid of assembly. I'm not going to claim that it's actually useful to know from an application development perspective, but I've always found assembly fun, and easier to grasp than higher level languages. Granted, most of my practice is with AVR and PIC. I can't stand x86.

If you're doing systems programming, assembly works just as well as any other higher level language because systems programming is often controlling the hardware itself. It's when you start getting into programs that are providing a service to the user that it tends to get more hair pulling. Most people from what I gather here want to do applications programming, which I'd argue assembly less suitable than other options.

Link to comment
Share on other sites

Link to post
Share on other sites

54 minutes ago, Kamjam66xx said:

I got a course on udemy for Assembly with ARM chips and im excited to do it. But i gotta finish learning openGL, vulkan, and how to make game engines first. Still i completely agree that low level stuff is way easier to understand.

 

OpenGL is low levelish, and its a blast. Its fun to play with.

Good for you if you have fun with it.

 

Personally 99% of the time i have to work on it is to fix bugs that only happen on AMD cards.

And bug chasing is ... let's be polite and calm... frustrating. it's not like DirectX is better, far from it lol.

 

I'm saying that rather because OpenGL usually the worst kind of work in my case. Empty double buffer for no reasons, Driver failure, Cannot draw line of 17 units wide but i can at 15,16 and 18 and all that because we are on tuesdays on a half moon between 4 pm and 9:12pm.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Franck said:

Good for you if you have fun with it.

 

Personally 99% of the time i have to work on it is to fix bugs that only happen on AMD cards.

And bug chasing is ... let's be polite and calm... frustrating. it's not like DirectX is better, far from it lol.

 

I'm saying that rather because OpenGL usually the worst kind of work in my case. Empty double buffer for no reasons, Driver failure, Cannot draw line of 17 units wide but i can at 15,16 and 18 and all that because we are on tuesdays on a half moon between 4 pm and 9:12pm.

Oh ive encountered a few things already, nothing really indepth yet... but the worst one wasnt even openGL, it was GLM. I was using glm::vec4 something, idr, anyways the VS 2017 compiler for c++ wont initialize the values of the martix if its contructor is called implicitly. It took forever to figure out, but i just called it explicitly to fix it.

 

I anxiously await the future headaches lol.

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, Mira Yurizaki said:

Most people from what I gather here want to do applications programming, which I'd argue assembly less suitable than other options.

Trying to write actual applications in assembly will help you to not write inefficient shit code though.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

43 minutes ago, Dat Guy said:

Trying to write actual applications in assembly will help you to not write inefficient shit code though.

Still dont know assembly but id bet that statement applies to c too, ya?

Link to comment
Share on other sites

Link to post
Share on other sites

18 hours ago, Dat Guy said:

Trying to write actual applications in assembly will help you to not write inefficient shit code though.

depends on what you mean by "not shit code". From a high level language engineering point of view, assembly will give you 0 assistance towards clean code, which is a huge deal when collaboratively writing software, or writing large complicated architectures where OOP design decisions early on can either be a pain in the ass, or a blessing from heaven down the road.

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

I prefer efficient code to "high-level clean" code - and assembly is quite good at that.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

9 hours ago, Dat Guy said:

I prefer efficient code to "high-level clean" code - and assembly is quite good at that.

Time and place. Premature optimization is the root of all evil. An effective developer should know how to write both fast code and clean code. If you can write amazing fast code but it looks like barf and each time that code is touched there's a significant chance of defects being added, that's not a recipe for being a great developer.

 

As a general rule, lean towards writing cleaner more maintainable code, make sure the program is correct, then profile it, then optimize the bottlenecks until you meet performance requirements. If you optimize as you go, you risk spending time optimizing sections of code that aren't even bottlenecks, as well as potentially making that code harder to maintain for no benefit. 

 

That said, you can and should still write efficient clean code when possible. When we talk about readability vs performance, we are usually referring to places where you have to explicitly choose one or the other, because the only way to increase performance is to start making changes that hurt readability and add significant design complexity. If there's a way to write code that is highly performance while still being very clean and maintainable that's obviously the code you should write.

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

On 1/9/2019 at 11:47 AM, LUUD18 said:

HTML and CSS isn't really programming. It's more front-end design. 

And you won't get a job easier than anyone else because it really depends on the kind of job. If you want to do complex back-end coding then none if this stuff is usefull (Except SQL) because most of them use C#, Java, C++, etc. 

 

For the OP: It really depends what kind of knowledge you already have.

If you already can think logically (if, else, etc) then I would advise to go with C# or Java.

If you are really new to it then you could start with Python.

I would advise you to stay away from C++ in the beginning because it's quite hard to begin with. C# is a bit like C++ but with C# a lot of things are already programmed for you. 

The thing is,  at least 9/10 IT jobs are web-app development based or mobile app development based, at least in this part of the world. It's hard to find a job with classic programming, some specialized programming and not to mention hardware/system related.

When it comes to IT jobs; 1st Web-app 2nd mobile apps 3rd networking 4th every other programming 5th sysadmin/etc 6th automation.

I'm a master of engineering in computer science and I don't want to work on web-apps and that's why I had trouble finding a decent job in the field I'm interested in (and have some expertise in) which is hardware related. Now I'm a senior IT advisor in a hospital but we have a small team so we do everything and I like it.

M.S.C.E. (M.Sc. Computer Engineering), IT specialist in a hospital, 30+ years of gaming, 20+ years of computer enthusiasm, Geek, Trekkie, anime fan

  • Main PC: AMD Ryzen 7 5800X3D - EK AIO 360 D-RGB - Arctic Cooling MX-4 - Asus Prime X570-P - 4x8GB DDR4 3200 HyperX Fury CL16 - Sapphire AMD Radeon 6950XT Nitro+ - 1TB Kingston Fury Renegade - 2TB Kingston Fury Renegade - 512GB ADATA SU800 - 960GB Kingston A400 - Seasonic PX-850 850W  - custom black ATX and EPS cables - Fractal Design Define R5 Blackout - Windows 11 x64 23H2 - 3 Arctic Cooling P14 PWM PST - 5 Arctic Cooling P12 PWM PST
  • Peripherals: LG 32GK650F - Dell P2319h - Logitech G Pro X Superlight with Tiger Ice - HyperX Alloy Origins Core (TKL) - EndGame Gear MPC890 - Genius HF 1250B - Akliam PD4 - Sennheiser HD 560s - Simgot EM6L - Truthear Zero - QKZ x HBB - 7Hz Salnotes Zero - Logitech C270 - Behringer PS400 - BM700  - Colormunki Smile - Speedlink Torid - Jysk Stenderup - LG 24x External DVD writer - Konig smart card reader
  • Laptop: Acer E5–575G-386R 15.6" 1080p (i3 6100U + 12GB DDR4 (4GB+8GB) + GeForce 940MX + 256GB nVME) Win 10 Pro x64 22H2 - Logitech G305 + AAA Lithium battery
  • Networking: Asus TUF Gaming AX6000 - Arcadyan ISP router - 35/5 Mbps vDSL
  • TV and gadgets: TCL 50EP680 50" 4K LED + Sharp HT-SB100 75W RMS soundbar - Samsung Galaxy Tab A8 10.1" - OnePlus 9 256GB - Olymous Cameda C-160 - GameBoy Color 
  • Streaming/Server/Storage PC: AMD Ryzen 5 3600 - LC-Power LC-CC-120 - MSI B450 Tomahawk Max - 2x4GB ADATA 2666 DDR4 - 120GB Kingston V300 - Toshiba DT01ACA100 1TB - Toshiba DT01ACA200 2TB - 2x WD Green 2TB - Sapphire Pulse AMD Radeon R9 380X - 550W EVGA G3 SuperNova - Chieftec Giga DF-01B - White Shark Spartan X keyboard - Roccat Kone Pure Military Desert strike - Logitech S-220 - Philips 226L
  • Livingroom PC (dad uses): AMD FX 8300 - Arctic Freezer 64 - Asus M5A97 R2.0 Evo - 2x4GB DDR3 1833 Kingston - MSI Radeon HD 7770 1GB OC - 120GB Adata SSD - 500W Fractal Design Essence - DVD-RW - Samsung SM 2253BW - Logitech G710+ - wireless vertical mouse - MS 2.0 speakers
Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, 191x7 said:

 

Web stuff doesnt pay as good from what ive gathered, right? I was really suprised to look at job listings for people who work with shaders, openGL, vulkan, or like do robots and self driving cars and stuff. 

 

They pay wayyyy more a lot of the time. At least from what ive gathered.

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, Kamjam66xx said:

Web stuff doesnt pay as good from what ive gathered, right? I was really suprised to look at job listings for people who work with shaders, openGL, vulkan, or like do robots and self driving cars and stuff. 

 

They pay wayyyy more a lot of the time. At least from what ive gathered.

Depends, as there are different types of web development. You can work in a small webdev shop and not make a ton, or you can work as a web developer at a large software company like Netflix, amazon, or google (or a myriad of other companies). For example where I work (a very large software company in the healthcare IT space), we don't have "web developers" vs "backend devs", we have "software engineers" of different experience levels (entry, senior, team lead etc.), and a "softwar engineer" might do pretty much anything, depending on the team they are on. We have teams that have a web focus, we have services/backend focused teams, we have security focused teams, we have C++ lower level teams, etc. The pay for each different type is only based on their performance and experience, and has nothing to do with the actual type of development you do, and people bounce between teams as needed.

 

Obviously not all companies work this way, and niche jobs will need niche requirements (you might need a masters or PHD and a very solid GPA with experience in shaders/CUDA to have a good shot at a to get a job at NVIDIA for example), but for "general software engineering" roles, your pay likely won't change if you happen to work on say node js instead of java or C++.

 

I guess the main difference is that the engineers i'm talking about can pretty much fill any role, and can make complex system competently, while the stereotypical "web dev" might only know html/css/php, to where can make a basic website, but not much beyond that. that's not to say those web devs couldnt LEARN, but the role that only needs that basic level of knowledge is one that I wouldn't expect to be on the same pay scale.

 

This is all just from my anecdotal experience and what i've seen, and as with anything, your mileage may vary.

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

43 minutes ago, reniat said:

 

Right. Im in michigan. But ive noticed pay for this type of work seems very flat across the country. 

 

In my area ive seen job listings mostly between about 55k-100k. But the niche work around here is 90k-140k. The niche stuff was like shaders, computer vision stuff for ultrasound machines, self driving cars for ford and some chinese company, and a few others i dont remember.

 

That to me represents a higher cap on pay, which personally interests me a lot! 

We do have amazon in detroit.

 

The phd thing is weird to me, because ive been told about people hiring people with phd's and a lot of the time they dont do very well. 

 

Maybe its the information overload? Im still learning about this type of work, so pardon my being so curious.

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

×