Jump to content

Mastering a Language

Jihakuz

Hey!

I am looking at getting some more indepth experience with programming languages. I know the basics of Python and Java but don't know where to go from there, and yes I know I should be looking at Java or C# etc and not Python but school and shit. I also know that you can't know the exact place I am at with these languages, I just want to know how you learnt to program because I am a bit stuck at the moment of where to go!

 

I doubt that made much sense, but thanks for reading :D

important figure in mensa

Link to comment
Share on other sites

Link to post
Share on other sites

Just continue using it. I use Python every day in my job and I keep learning. Reading books about a language is a good way to find new functionality or ideas, which I then try to mix in if a project would allow for it. Usually the first time you implement it badly, but it'll get better once you get more familiar with it.

Crystal: CPU: i7 7700K | Motherboard: Asus ROG Strix Z270F | RAM: GSkill 16 GB@3200MHz | GPU: Nvidia GTX 1080 Ti FE | Case: Corsair Crystal 570X (black) | PSU: EVGA Supernova G2 1000W | Monitor: Asus VG248QE 24"

Laptop: Dell XPS 13 9370 | CPU: i5 10510U | RAM: 16 GB

Server: CPU: i5 4690k | RAM: 16 GB | Case: Corsair Graphite 760T White | Storage: 19 TB

Link to comment
Share on other sites

Link to post
Share on other sites

I learned programming in college intro class but really learn programming by watching YouTube tutorials. I did not learn anything from my proffesor, especially the tenured ones. They are more interested in locking themselves in their labs, doing research than lecturing noob freshmen in the art of programming.

 

it sucks...

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

i also recommend a project of some sort. doing problems on leetcode and watching vids are nice, but a project is a different beast

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, abdullah2993 said:

just start a side project. Its the best way to learn

38 minutes ago, Technicolors said:

i also recommend a project of some sort. doing problems on leetcode and watching vids are nice, but a project is a different beast

What sort of project?

important figure in mensa

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Jihakuz said:

What sort of project?

Game. Always the game. Nothing will forced you to use all features of a language more than game programming. You may even need to learn to code artificial intelligence, 3d graphics with OpenGL, and multiplayer networking features if you are really ambitious.

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

8 hours ago, wasab said:

Game. Always the game. Nothing will forced you to use all features of a language more than game programming. You may even need to learn to code artificial intelligence, 3d graphics with OpenGL, and multiplayer networking features if you are really ambitious.

Makes sense. Thanks! I’ll have a look around. 

important figure in mensa

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, Jihakuz said:

What sort of project?

Any project I would recommend a small project at first that you might use like a small tool for downloading your favorite anime, organizing your files or some sort of utility that you need or might find useful once you complete that you can start moving to bigger and bigger projects. Also i would recommend a github account, start using git it will make things a lot more easier for you.

Link to comment
Share on other sites

Link to post
Share on other sites

If you want to start really learning how to use a language, it's better to start off with smaller projects. Starting off with something big will just lead to frustration and eventually abandonment.

 

It's also good to become familiar with programming concepts and principles and understanding when and where things are appropriate to use, rather than simply just knowing how to use a language.

Link to comment
Share on other sites

Link to post
Share on other sites

On 5/6/2018 at 12:26 AM, Jihakuz said:

What sort of project?

Anything would work but as mentioned a game (especially if done from scratch without an existing engine) can teach you the most. Perhaps the hardest part of game programming is that it has to run really well which means you have to optimize for efficiency rather than just saying "fucket, let's make this work".

 

Some other projects could include solving things you feel like you need/want in your life or solving programming problems or finding assignments for courses you'd want to take and trying to do them (some universities have course websites that you can access without being enrolled in the course: https://pages.cpsc.ucalgary.ca/~sonny.chan/cpsc599.86/ https://pages.cpsc.ucalgary.ca/~sonny.chan/cpsc453/ http://graphics.stanford.edu/courses/cs348b/ to list a few)

Link to comment
Share on other sites

Link to post
Share on other sites

Also you could brows github for projects that interest you and check out how some of the things are done by the people working on that project. I've been involved with QMK, a C project for making keyboard firmware. It's helped me refine my C skills. 

Link to comment
Share on other sites

Link to post
Share on other sites

If you already know Java, learning to build a simple site with something like JSPs (even though its a dying legacy technology) and wiring up a basic Rest back end will make you massively more employable than your classmates. If you are into some group activity (Anime, magic the gathering, LAN gaming, whatever) then you could make a simple site for your fellow group mates to organize/schedule events and such. As you try to get the site built and learn how to host it, ask questions and learn as much as you can.

Web Developer and Java contractor

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, programmer said:

If you already know Java, learning to build a simple site with something like JSPs (even though its a dying legacy technology) and wiring up a basic Rest back end will make you massively more employable than your classmates. If you are into some group activity (Anime, magic the gathering, LAN gaming, whatever) then you could make a simple site for your fellow group mates to organize/schedule events and such. As you try to get the site built and learn how to host it, ask questions and learn as much as you can.

I plan to make my own website soon. what would be a good free hosting service?   

Sudo make me a sandwich 

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, wasab said:

I plan to make my own website soon. what would be a good free hosting service?   

For Java, the free tiers that exist on AWS and GCS kinda such - at least in terms of being free. Amazon will start charging after a year, my Google Cloud ran out of money in two months because its defaults are dumb (I could not figure out their billing statement). 

 

Heroku has a free tier but I don't know how restrictive it is and if it's really free.

 

Firebase has free hosting for static assets (html, css, js images) and a two free database options, and a built in OAuth provider for authentication (which would take significant effort to scratch build) among other things. I use it for my side business and think its great for quickly developing simple sites and apps - though being NoSQL there is some learning curve when it comes to structuring data and doing queries. Google really seems to want it to be a thing and it might end up being an employable skill at some point (probably not, but who knows.) https://firebase.google.com/

 

When I was in college I got a job at Taco Bell to pay for the odd beer, games, and my tech hobbies. Even making minimum wage will give you a lot of options to try technologies and buy books and courses. If you are willing to pay for hosting, a fixed price Linux image on DigitalOcean is 5 bucks a month. If any of your friends program or you make more than one website, they can share the server.

Web Developer and Java contractor

Link to comment
Share on other sites

Link to post
Share on other sites

When I started learning C#, I learnt a lot through completing a bunch of maths problems on a site called Project Euler (https://projecteuler.net/archives). This got me through learning the basics. Then when you've got a bit of confidence come up with a project. Whenever you come across something you can't do or want to try do, do a google search and you'll usually find something on Stack Overflow which will help you out. Microsoft also has a whole library of syntax on their website that you can scope out if you get stuck.

i5-6600k @ 4.9Ghz | Corsair H110i GTX + 2 x Noctua NF-A14's | ASUS Maximus VIII Ranger | 

Corsair Venegance DDR4 8GB | ASUS GTX 970 Strix |Samsung 840 EVO 240GB + 1TB HDD | 

Corsair RM850 | NZXT H440 Black | 2 x Noctua NF-F12 + Corsair AF-140

Link to comment
Share on other sites

Link to post
Share on other sites

The true master is the eternal student.

 

But more practically, do what others have said here and find small projects to work on.

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

×