Return to Level1Techs.com

Devember - Relearning to program using Python

devember2k18

#1

Why hello there everyone!

I decided to take part of L1T Devember event/challenge, so well here goes. I’ll try to structure this post so that anyone interested can read the interesting parts (if there even is any) and skip my unnecessary yadayada.

Oh yea, and this is my first topic I’m posting. Sorry if I screwed up something!

First, before I forget:

I, Even747, will participate to the next Devember. My Devember will be to relearn programing using Python. I promise I will program for my Devember for at least an hour, every day of the next December. I will also write a daily public devlog and will make the produced code publicly available on the internet. No matter what, I will keep my promise.

My Devember challenge and goal

I’m going to use this Devember event to get back to programing. For this I will use Python. I’ll try to achieve this by using online tutorials and maybe doing some small programing projects on my own. I will also use part of the time figuring out how to use Git/GitHub and also, how to use Vim. Previously I’ve used Notepad++, NetBeans, and Atom for coding, but lately Vim has started to look really interesting text editor. So my Devember won’t probably be 100% about coding, but definitely 100% of coding related. IF for example Vim turns out to be too much for me then I simply change to something else and thus won’t waste my whole Devember to it.

Oh, and part of the reason to join Devember event is to get to know this community better. I joined about two months ago and so far L1T forums have been awesome place to be. :slight_smile:

About the little project etc I mentioned please see dedicated section.

Background and the project itself

So, I’m not exactly new to programing and coding. I’ve played around with HTML/CSS, JavaScript and while I was doing my CS degree at the university I took some Java programing courses. However it’s probably over 5 years since I last time did any actual coding, sooo it might take some time to get back to where I was at. Not implying I never was anywhere to begin with… :smiley:

All my previous programing experience is from Win7/8, but now I will use Ubuntu 18.04, or 18.10 if I find enough motivation to upgrade. Not sure if this is relevant info but now you know.

Limitations

While not going too much into detail I’ve been struggling with some health related issues past 6 months, and my feeling is it’s not over yet. So I for this or what ever reason I have to cancel/abandon this challenge I will let everyone know in this devlog and message @Dynamic_Gravity, since he is the the event maintainer.

Why Python?

Well every time I’ve googled for “best beginner programing language” or “what language to use to learn coding” Python has always been on those lists, often being the first one. Sooo I’m guessing that could be the best language for my Devember? Also, I’ve understood Python is not some learn-to-program language that would turn out to be obsolete after a while, but is actually used in both small and big software projects.

But if someone has suggestions for some other languages I’m open for suggestions!

Why not JAVA? Idk tbh, I would rather use/learn something else.

I’ll explain my ideas for the coding projects in next post.

Project repository

My project repository for this Devember challenge can be found here:


#2

Good luck!


#3

Thank you! :slight_smile:


#4

Hello buddy and welcome to the forum. We like fresh meat every now and then. Keeps cannibalism at bay…

Best of luck :slight_smile:


#5

So the ideas.

My plan is to start with some tutorial. I was planing to use this: https://www.tutorialspoint.com/python/index.htm

However if you know some other free online tutorials I’m open for suggestions.

If or when I get comfortable enough, I might do some small programing projects on my own, like some dice programs that will randomly give you numbers or something similar. These programs are most likely covered in the tutorials.

Also one idea is to make some kind of text based game that runs in terminal.

Simple version would be a game where you pick player race/class (warrior, wizard, goblin, truck driver, forum admin :grin:), and then fight enemies. Whether you win or lose would be based on random number generator (numbers 1-5, you lose, 6-10, you win) and after wining n amount of times you have beat the game.

More elaborate version would be to make text adventure, where you would pick between options and advance with the story. If I go for the text adventure option then the game will definitely be some really edgy cyberpunk game. I’ve been listening way too much synthwave lately to be able to get my mindset into some medieval fantasy setting.


#6

Thanks! I will be following your project as well. :slight_smile:

Careful, I might bite back… :smirk:


#7

It’s no fun if you don’t. :stuck_out_tongue:


#8

Hope ya’ll are ready for my update.


#9

You are biting too?
It’s a competition now?
Oh, I can’t wait… Just don’t tell me it’s 14nm again…


#10

Thought my “planing stage” for Devember could be looking into Vim and Git, so I decided to create .vimrc file just so that I can have line numbers at startup. Ended up playing around with Vim controls for a moment. It’s not that bad once you get used to it, but let’s see if this sensation will last once I actually try to code something.

But hey, I have line numbers now when Vim starts. Yay! :tada:

And I didn’t start coding yet, that’s just the html file for my Firefox start page I stole made many moons ago.

I should have a free evening tomorrow after work so I’ll see if I can get GitHub repo up for Devember. I’ll edit the OP and add the link to the repo if/when it’s up.


#11

The best of luck!

I didn’t know that tutorial you linked yet. I’ll have a look at that :slightly_smiling_face:

That sounds awesome!! I would totally play that game. :sunglasses:


#12

Cool, I think Python is a good thing to learn these days. You can do quite a bit with it. It has some powerful libraries. You could quite happily program a Raspberry Pi with it. You could even utilize MicroPython to get some micro-controllers doing things.
I have tried to learn it several times, but have never used it to do anything, so all gains lost so to speak. Good Luck!


#13

i will be lurking on this as i need to learn python myself for reasons


#14

Thanks!

Don’t expect too much tough, this is going to be basic… python…

Thanks! I actually have 3 raspberry pis and some Chinese arduinos collecting dust atm.

Welcome :slight_smile:


#15

How did you put it again?

:wink:

The idea on it’s own is interesting. No matter what, I would try it. :+1::sunglasses:


#16

Aaand now I have repository up. Took some time to figure how to use Git from Linux terminal, my previous repo was created using GitHubs own desktop app. :smiley:

I still don’t quite understand different branches etc., but those probably start to make sense eventually. And I tbh don’t see any need to move away from the “master” branch since this repository mostly acts as a backup and public share of my devember adventures.

I’ll spend the rest of the evening playing around with Git commands and see how this stuff actually works.


#17

donotreadme huh? :wink:


#18

By the emperor the typos are real. No wonder why none of my python attempts work.

So:

Day 1

  • Figured out how to run my python scripts/files in terminal
  • print("Hello world") worked, all else that I tried did not
  • Got frustrated, drank a can of Mountain Dew
  • Tried again, still nothing works

But on a positive note I found my old notes and assignments for the “Object-oriented programming” - course. The course main assignment was to create World of Warcraft - clone. Yea I think my teacher did like that game… :smiley:

I’ll take a look into that assignment and try to translate it into English later and post short version of it in here. I think that would be good basis for my awful epic cyberpunk game.

That is, if I ever get these "@%&#* if-else loops to work. :angry:


#19

So basically my day 1…
Don’t give up. Day 2 will be WAY better.


#20

This is the point where I would gladly offer my help. The problem is that I am not very good at reading code, but I can try. :wink:

I got very frustrated with dependency issues today, so even worse on my end :thinking: