It looks like you're using an Ad Blocker.

Please white-list or disable AboveTopSecret.com in your ad-blocking tool.

Thank you.

 

Some features of ATS will be disabled while you continue to use an ad-blocker.

 

Learning to Code - Rust as a potential first language?

page: 1
4
<<   2 >>

log in

join
share:

posted on Dec, 27 2022 @ 02:35 PM
link   
I'm starting this thread as kindly suggested by Maxmars, restating my question from this thread, to maybe hopefully get some ideas and feedback.

I've been considering learning to code for a while, but my free time is limited, and every time I start researching where to start, I get ... well, my brain starts to hurt.

I'm a long time tech guy, but more high level Sys Admin stuff. I've done enough basic scripting to know I'm not a coder. I'm not afraid of the command line (managed some linux web/mail servers in my time), but just have never taken the time to seriously try to learn how to code anything meaningful.

From the above referenced thread, DaRAGE was talking up the Rust language, so I'm wondering, would it be a good choice for a total noob to get started with? I was considering C/C++ due to how it compiles everything into a single executable with no dependencies, but it looks ... well, hard, complicated, and time consuming...

Lastly, are there any companion languages that would be needed to be able to do most any software project one might be considering?

Thanks in advance for any response anyone might find the time to make,



posted on Dec, 27 2022 @ 02:53 PM
link   
a reply to: tanstaafl

The easiest way to learn to code is with Python.

Clean syntax, easy to read, installed by default on every OS not named Windows.

Huge library to access, can work with anything from systems scripting to desktop apps to web apps to AI...

Once you're comfortable in Python, learn to tie it together with a database... either MariaDB/MySQL or Mongo (or both). Then learn Javascript and you're a "full stack developer."

Once you figure out Python, learning new languages will be simple. You end up just having to figure out the nuances of the language. Javascript, for example, and Node specifically, is geared towards Asynchronous programming, statically typed object oriented languages like Java and C# use classes for everything, etc.
edit on 27-12-2022 by rounda because: (no reason given)



posted on Dec, 27 2022 @ 04:08 PM
link   
What do you want to accomplish by coding? Are you interested in server side or browser applications? Python is the go to for backend and JavaScript for the front end. Nothin wrong with Rust though. I think it’s gaining popularity in blockchain. Speaking of blockchain you may wanna check solidity language as it’s in high demand these days.



posted on Dec, 27 2022 @ 04:14 PM
link   
Depends on what you want accomplish. Many years back I wrote a pc remote control program in pascal (aka delphi) that would have taken years longer to complete in C/C++. Because the speed of the program was really dependent on windows api's that were already compiled in C/C++, pascal was perfect at that time, in creating an application that I could quickly develop and market.

If you want write applications to sell. You need weigh what is available that will allow you to write a program to whatever platforms in least amount of time without impacting performance. If you just want make yourself more employable. The most popular languages today is _javascript and python. If you want move on to something like database administration then learn SQL.

If you don't have a mind to play chess. You may not have a mind for creating larger more complicated programs.



posted on Dec, 27 2022 @ 04:36 PM
link   

originally posted by: rounda
a reply to: tanstaafl

The easiest way to learn to code is with Python.

Thanks for your reply...

I have looked at python, but it is an interpreted language, and from what I've read, I think I'm more interested in compilable languages for portability and performance reasons - but I'm open to discussing it...


Once you figure out Python, learning new languages will be simple.

If that is really true, and would apply to compilable languages like Rust, then that is a big argument in favor of starting with python.

Thanks again for your response!



posted on Dec, 27 2022 @ 05:15 PM
link   

originally posted by: Tucket
What do you want to accomplish by coding? Are you interested in server side or browser applications? Python is the go to for backend and JavaScript for the front end. Nothin wrong with Rust though. I think it’s gaining popularity in blockchain. Speaking of blockchain you may wanna check solidity language as it’s in high demand these days.

I am actually interested in working with something to do with blockchain, but I've also been interested in rewriting a really nice and effective anti-spam system (so, server side) called ASSP, which is just one huge perl script. I want to rewrite it, but also rearchitect it so that it can be used as a post-queue anti-spam plugin (like Amavisd-new+SpamAssassin).

Also, a web app with integrated DB on the back-end.

I'm also interested in doing some extensions for Thunderbird, but yeah, mostly server side stuff...



posted on Dec, 27 2022 @ 06:50 PM
link   
a reply to: tanstaafl

sent.

" Alright. I highly recommend zero to mastery. Its a website. It has 229 videos and something like 40 activities where you try to complete the exercise before the video goes ahead and shows you how the instructor completed the exercise. Sometimes it seems a little unfair in the exercises as sometimes a method shown in an exercise by the instructor is something you havnt been taught yet, but its also teaching you new things by doing that. Though its rare that it does that. But it happens. Zero to mastery really goes step by step, its in depth. Its by far the best teaching method i have seen for learning to code. Dont do python. Just go straight to Rust. Rust is going to boom big time. Rust programs compile into an .exe file. With python its all just little scripts. You still need an interpreter. Only learn C++ if you absolutely want to use Unreal Engine in your future. Only learn C# if you absolutely want to use unity in your future. C# has a garbage collector and is about 3 times as slow as Rust. C++ will compile for you, even with errors, so you of 2 hrs of coding and like 6 hrs of debugging. With Rust it won’t compile if there are errors, forcing you to do your debugging at the time of writing the code. The compiler holds your hand like a loving parent and tells you exactly whats wrong and how to fix it. C++ is like a drunk parent that might occasionally yell some advise to you and you might be able to understand it.

Also i might suggest to you to do a free short course first. In computer science. The Khan academy computer science AP. You dont even have to finish it. Just get the fundamentals down such as memory, bits, bytes, also tcp/ip internet protocols http. It will be very helpful in understanding things better later on when coding. Like much later. It just gives you that basic understanding of computers a bit better than without.

Now, when i said don’t do python earlier, what i really meant was even if you do python it will still take you 2 years to be really good at it. Though python is a good start point. In all i would say maybe learn python for about 1 week. But thats it. Otherwise just go get the basics of computer science for a week using khan academy computer science ap. When i say that i am talking about just two specific things from that course. The first two. Digital information, and The Internet.

I did those first two, then i went on to read the Rust book, and take notes. Then i went to the rustlings course, which jumped ahead real quick without actually teaching. I have had a lot of looks at different courses. I am telling you, zero to mastery is hands down the best way to do it. After those two khan academy chapters in that computer science ap.

Yes learn Rust. It will set you up for a brighter future. The compiler will hold your hand lovingly, guiding you to correctness, showing you whats wrong and how to fix it, before it allows you to compile. Yes it has a learning curve, but it’s not THAT hard. Zero to Mastery is the way to learn it.
edit on 27-12-2022 by DaRAGE because: (no reason given)



posted on Dec, 27 2022 @ 07:09 PM
link   
a reply to: rounda

you mean to tell me I've been a full stack developer for some 15 years on accident?

I learned perl/python/php to back my html skill and linked them up with mysql many years ago just to solve a simple problem at home.... after building the hypervisor and vms and servers to back them.
This is just everyday normal nonsense for the typical "tech guy", yet every job I look at wants to pay software developers stacks of cash but nobody wants a well rounded technical problem solver



posted on Dec, 27 2022 @ 07:11 PM
link   
I recommend python or php if you are just starting. it really depends on what you want to do. if you want to make websites then php _javascript html/css. if you want to make little scripts to automate stuff then python is a good choice. you don't need to worry about compiled languages such as rust or C or go unless you want to do lower level system stuff like write drivers or system utilities. honestly most of those wheels have already been invented already so theres not much room for growth there. i recommend webdev or phone app dev. for phones youll need java or kotlin for android or swift for iphones.

it's all up to you though.



posted on Dec, 27 2022 @ 07:28 PM
link   
Look man heres the deal.

Rust can run on anything, it has access to Web Assembly. So you can run Rust code using web assembly in your browser.

Look don’t take my word for it.

Go to the discord chat and ask them. They’re very very helpful.

One just said: i love rust because it means i don' have to use C++ 🤓
Another: very true. I hate object-oriented mess and C is ancient

discord rust beginners










zero to mastery



most loved programming language

rust

rust language

Rust Learn

In the above rust learn link there are three things listed. Read the rust book, rustlings course which we will avoid as its for more advanced stuff, and learn rust by example. Rust by example is pretty good tbh.

Also you will want to use most likely VS Code aka visual studio code with the rust analyzer plugin. VS Code is like a text editor that can use tons of extensions and plugins. Do a google search for the best plugins to use for it. Most people use VS Code. Its light weight and quick to use but you will need plugins and extensions. I personally use CLion with the intelliJ Rust plugin, but you have to pay $10 a month for it. VS Code is free, plus the rust analyzer is more in your face about errors whilst writing. A good place to start. But after a month i switched to CLion. Though lots of people use IntelliJ which is a free version from the same makers of CLion. CLion is a bit more heavy on your computer. CLion is more project orientated, so it's like "create new project". VS Code allows you to just start writing really and running fast with the play button.

Though someone said that if you're learning how to code, try not to use an IDE like the above. Use a text editor like notepad and it will help you in learning. Sometimes these IDE's help you too much, therefore preventing you from learning properly.




edit on 27-12-2022 by DaRAGE because: (no reason given)

edit on 27-12-2022 by DaRAGE because: (no reason given)



posted on Dec, 27 2022 @ 08:39 PM
link   
a reply to: tanstaafl

so I would say, it really comes down to your previous experience and how you can apply coding to your previous experience to use your previous xp to enhance your learning. As an example. If your an accountant, then VBA, SQL, and python are the way to go. Just as an example. Think about what your doing, and how you would use code to solve your problems in your job, then use code to solve those issues, and learn that code to solve those problems. Each code is used for different reasons. If you want to IM me, we can chat more on the back side.

Camain



posted on Dec, 27 2022 @ 09:45 PM
link   

practice.rs...

practice.rs...

Another way to practice/ learn while practicing.



posted on Dec, 28 2022 @ 04:52 AM
link   
assembler - makes you appreciate all high level languages


"hello world" is always a good place to start



posted on Dec, 28 2022 @ 07:39 AM
link   
Thanks for all the responses, it is much appreciated, and definitely lots of food for thought...



posted on Dec, 28 2022 @ 07:41 AM
link   

originally posted by: acackohfcc
assembler - makes you appreciate all high level languages

Heh, I actually considered learning assembler once when I learned that a program I really liked and used a lot a long long time ago called Spinwrite (so, long before SSDs) was written in assembler...



posted on Dec, 28 2022 @ 07:54 AM
link   
And a HUGE thanks for this, looks like a great starting point as you said, something I can sink my teeth into.


originally posted by: DaRAGE
Look man heres the deal.

Rust can run on anything, it has access to Web Assembly. So you can run Rust code using web assembly in your browser.

Look don’t take my word for it.

Go to the discord chat and ask them. They’re very very helpful.

One just said: i love rust because it means i don' have to use C++ 🤓
Another: very true. I hate object-oriented mess and C is ancient

discord rust beginners










zero to mastery



most loved programming language

rust

rust language

Rust Learn

In the above rust learn link there are three things listed. Read the rust book, rustlings course which we will avoid as its for more advanced stuff, and learn rust by example. Rust by example is pretty good tbh.

Also you will want to use most likely VS Code aka visual studio code with the rust analyzer plugin. VS Code is like a text editor that can use tons of extensions and plugins. Do a google search for the best plugins to use for it. Most people use VS Code. Its light weight and quick to use but you will need plugins and extensions. I personally use CLion with the intelliJ Rust plugin, but you have to pay $10 a month for it. VS Code is free, plus the rust analyzer is more in your face about errors whilst writing. A good place to start. But after a month i switched to CLion. Though lots of people use IntelliJ which is a free version from the same makers of CLion. CLion is a bit more heavy on your computer. CLion is more project orientated, so it's like "create new project". VS Code allows you to just start writing really and running fast with the play button.

Though someone said that if you're learning how to code, try not to use an IDE like the above. Use a text editor like notepad and it will help you in learning. Sometimes these IDE's help you too much, therefore preventing you from learning properly.






posted on Dec, 28 2022 @ 08:10 AM
link   
a reply to: tanstaafl

No problemo. Have fun!



posted on Dec, 28 2022 @ 08:53 AM
link   
Is this for fun and personal projects or a career move?

From what you write in your post, I would, as others have, suggest Python. One of the biggest reasons is that you seem to be having a hard time getting started, you don't seem to have any specific direction you want to go in (and it is ok right now) and also are limited on free time. Resources for beginners learning Python are bountiful. The benefit to this is that no matter what learning style works for you....there are plenty for all styles and types of learning. Having easy to understand, beginner-centric resources/project examples/code samples can make a difference in sticking with it and staying motivated.

On top of that, once you grasp the basics of one language and the overall concepts, it's not too hard to pivot into a different language. When you get farther along you can move on to whatever language works best for the direction you decide you want to go.

For a couple of great YouTube channels with tutorials/playlists covering Python I would suggest Programming with Mosh and Bro Code. But don't get caught up in perpetual tutorials and make sure you spend the most time in Python.org and online documentation. (Python.org has its own beginner tutorial).

One other point...if this is for a career transition...consider that yes, the newer languages are exciting...but many companies/applications are still using a language that they have been using for years.



posted on Dec, 28 2022 @ 10:28 AM
link   
a reply to: tanstaafl

If you are learning basic programming skills, any language will work!

What I mean is that programming is not a computer language but a method of thinking. You learn algorithms and how to move data around… each computer language has its strengths and weaknesses.

Python is a good place to start. Once you get chunks of code working, then you can start the “object oriented programming” where you define your own objects. Once that happens, you are able to do very powerful things with programming.

Don’t get hung up on Python being “interpreted” because you can compile it (which is how you build libraries of objects to reuse).

The next bit of advice is to learn something like subversion (code repository). You will learn how to check in/out code which leads to “compile at check in” which is a real world practice (agile, I think).

Lean and agile are both practiced in the real world and you will be asked about them on any job application.

Pick a language, learn the syntax. Learn repositories. And programming practices (lean or agile).

That would be to get a job!

If you are looking just to learn, you have some great info in this thread! The other stuff will happen if you stick with it!

Stretch: Build a Linux distro from scratch! Most of it is point and click but you will need to know how compile in/out options and there is a large code base to work with. If you can do that, then you can see if you can help with the code itself.

Good luck!



posted on Dec, 28 2022 @ 11:14 AM
link   

originally posted by: JourneyAbout
Is this for fun and personal projects or a career move?

This is more for fun at least at first, but I'm hoping in the next 5 years or so to develop my skills to the point I could create something that I could actually make money from. But, I am definitely NOT looking to get a day job as a coder.

At this point I'm thinking I'll start with the rust stuff DaRAGE linked to, but I think I will also add python to the list too. I did know its code could be compiled, so definitely better than perl...

Thanks for taking the time to respond!



new topics

top topics



 
4
<<   2 >>

log in

join