[Journey] The path from beginner to programmer

I've been "programming" for many years, at least 10-15, but one day it just "synced" in my head that the language I'm using didn't matter so much as the problem solving did.

Programming languages are tools you use to solve problems with.
Learning to program isn't learning a language, it's learning how to solve problems and choose the language that best fits the situation.

Programming is literally the same across all languages, each having their own nuances.

The idea is:
  • The computer takes input. (Input)
  • The computer does stuff with that input repetitively and by decisions (Loop/Make decision)
  • The computer produces output. (Output.)

The "does stuff with that input" part is your job to instruct the computer on what. It does this with different types of loop and iterations. Repetitive things that humans aren't good at. And it does it fast.
This is the same for any type of program from games, to Forex trading, all the way to news readers. Input. Loop/Make decision. Output.

In the majority of cases, you are going to be using other people's libraries for Python projects. This sounds great on the face-value, and it is, until you realize you aren't so much learning how to solve problems with programming, you're learning how to use someone else's code from a library.

Beautiful Soup is a good example of this for web scraping. People say "web scraping in Python is easy."
Yeah, it's easy until it doesn't work and you need a custom solution.

A lot of Pythons nuances and problems are hidden behind these "easy to use" libraries for everything you could think of.
Learning Python is really just learning to use a library for everything and never touching the hard part of programming.
This is another reason why it's "pretty" and seems like "less code" than everything else these days.

Anyways, no discouragement here. Python is fine to learn how to start talking to a computer and having it do things for you. Because of libraries, it's great for quick projects like small web scrapers, data analysts. Keep on with it, but do try to start learning why something works, versus why Python won't work, and start implementing the solutions in various languages.
 
I've been "programming" for many years, at least 10-15, but one day it just "synced" in my head that the language I'm using didn't matter so much as the problem solving did.

Programming languages are tools you use to solve problems with.
Learning to program isn't learning a language, it's learning how to solve problems and choose the language that best fits the situation.

Programming is literally the same across all languages, each having their own nuances.

The idea is:
  • The computer takes input. (Input)
  • The computer does stuff with that input repetitively and by decisions (Loop/Make decision)
  • The computer produces output. (Output.)

The "does stuff with that input" part is your job to instruct the computer on what. It does this with different types of loop and iterations. Repetitive things that humans aren't good at. And it does it fast.
This is the same for any type of program from games, to Forex trading, all the way to news readers. Input. Loop/Make decision. Output.

In the majority of cases, you are going to be using other people's libraries for Python projects. This sounds great on the face-value, and it is, until you realize you aren't so much learning how to solve problems with programming, you're learning how to use someone else's code from a library.

Beautiful Soup is a good example of this for web scraping. People say "web scraping in Python is easy."
Yeah, it's easy until it doesn't work and you need a custom solution.

A lot of Pythons nuances and problems are hidden behind these "easy to use" libraries for everything you could think of.
Learning Python is really just learning to use a library for everything and never touching the hard part of programming.
This is another reason why it's "pretty" and seems like "less code" than everything else these days.
Yeah, disassemble libraries. Use F12. Don't fear someone's code. :p

I cut parts of other people libraries and build on top of them.

Close to the hardware, OpenGL, C++. That's where you need to focus.

I think Python libraries aren't easy at all. It's a lot of math. It cannot be just applied like React or HTML.
 
Yeah, disassemble libraries. Use F12. Don't fear someone's code. :p

I cut parts of other people libraries and build on top of them.

Close to the hardware, OpenGL, C++. That's where you need to focus.

I think Python libraries aren't easy at all. It's a lot of math. It cannot be just applied like React or HTML.

I am convinced the idea of pointers being very hard to figure out in C/C++ was a conspiracy to make people use other languages.
I will never understand why it seems so many give up on programming because they don't understand how to reference a memory address versus a variable.
 
I am convinced the idea of pointers being very hard to figure out in C/C++ was a conspiracy to make people use other languages.
I will never understand why it seems so many give up on programming because they don't understand how to reference a memory address versus a variable.
Don't expect people who don't know how to read books to learn C++.

Do you know how to read this book on C++? https://chenweixiang.github.io/docs/The_C++_Programming_Language_4th_Edition_Bjarne_Stroustrup.pdf

You don't read it. :p You only scroll through and use ctrl + f if you have some questions.
You just bookmark it and check from time to time as you figure out how the language is meant to be used.
You have the same for typescript https://gandrille.github.io/tech-notes/Web_Design/TypeScript/2019%20typescript%20deep%20dive.pdf
You just need to formulate questions and search in books.

And you just fcking ignore problems, create bugs and refactor.
Make 10000 memory leaks.
I don't give a ***.

It's like you build your first house? It'll be a ramshackle. 5th house will be good. Probably better than any average house!

Be a man of craft.

You're not building huge responsibility things on BlackHatWorld. We're here for a reason. We don't want to build airplanes or industrial drivers.
Just make efficient and powerful s*it.
 
IMG_20240621_213111_488.jpg
Little news, we now get prices on exchanges, analyze them and get the difference
In further steps, we will take the name of the coin from the 1st exchange, and find the difference from the second, if it is there. If the difference is more than 5%, display the result. :rolleyes:
 
View attachment 354722
Little news, we now get prices on exchanges, analyze them and get the difference
In further steps, we will take the name of the coin from the 1st exchange, and find the difference from the second, if it is there. If the difference is more than 5%, display the result. :rolleyes:
Can you think of an alternative to .text and .txt file?

What about a database? SQL? You can use sqlite.
What about a .JSON file?

Edit: I know it might be a lot, but these things do nothing else than give structure and order to your program.
.txt files are for personal notes and this is in my opinion too basic file format for anything.

You want to write with standards. Connecting txt files with programs is not a good option.
 
Can you think of an alternative to .text and .txt file?

What about a database? SQL? You can use sqlite.
What about a .JSON file?

Edit: I know it might be a lot, but these things do nothing else than give structure and order to your program.
.txt files are for personal notes and this is in my opinion too basic file format for anything.

You want to write with standards. Connecting txt files with programs is not a good option.
Thanks for the advice. I will try to explore this direction.
 
@reaaski you are scaring the guy, lol. Let him cook bro :D

Jokes aside, congrats on your first steps into coding! I suggest that you keep doing what you are doing without overcomplicating things and just learn as you go.

IMHO it doesnt matter if you are saving stuff in a database or using python, or doing this or that, since this is a very simple bot that only compares prices.

Now let me talk a little about the practical stuff about this project (because i was thinking about doing the same and had a conversation with an experienced crypto developer about it). If you know everything i'm gonna say already just ignore it, ok?

First of all: is this profitable?

Kinda. You said you are aiming to find a 5% difference in prices... i dont think this is gonna happen. You should aim for lower differences and try to profit on volume.

What is volume? Transactions of large sums of money where you take advantage of the little difference between the prices to make a profit.

Now, this may look obvious... but lets say you are trying to do ETH arbitrage. The best workflow has to be:
- Have X USDT and X ETH already in your wallet on exchange 1
- Have X USDT and X ETH already in your wallet on exchange 2

Which means you have to fund 2 wallets with a good amount of cash for doing this.

Bot then finds an arbitrage opportunity on exchange 2, you sell ETH on exchange 2 and buy the same amount of ETH on exchange 1. The profit will be the difference between the prices from the buy and sell orders.

But now, after the transaction... exchange 1's wallet has more money than exchange 2 right? And if you do the same from exchange 1 to exchange 2 you will end up in a deficit of tokens in one or another for future transactions.

So basically you need to have a plan for BALANCING OUT both wallets as long as you want to keep the cycle going. This is a challenge.

And then, there are fees... the second challenge. I dont think there are fees for trades inside the exchanges but most probably there are fees for withdrawing and also if you want to transfer to another wallet there will also be fees. Specially ETH which the fees are kinda huge.

So... yea.. you need:
- MONEY (probably large sums) to buy, sell and replenish the wallets
- a very good calculated strategy to reduce the fees as much as possible
- luck, patience and testing

Its not that the bot will do any miracles, there is a whole system behind it.

I hope it helps anyway... as I said you may ignore what I said if you already knew.

It would be nice if you keep us updated and tell your plan to overcome these challenges.

Good luck!
 
@reaaski you are scaring the guy, lol. Let him cook bro :D
No. I gave a little tip that puts you above all front-end developers who can't join tables and eat dinner together.

Actually what you wrote is scary with all those calculations! Simple databases are pleasure to do.

Yeah, you explained it like it should be explained. It's for people with deep pockets who can refine it forever...

Most of this type of projects is massive disappointment.

That's what I said.

So what else? Affiliate marketing, as always.
 
Yes, yes, experienced programmers will say learn C++. My programming knowledge is too low to learn C++.
You should absolutely not start with c++ unless you have a very specific language in mind. Most people and companies nowadays are using higher level languages. So you’re pretty good with python. Good luck!
 
Hello everyone, I recently started learning programming, namely 2 weeks ago. My choice fell on the Python programming language. Yes, yes, experienced programmers will say learn C++. My programming knowledge is too low to learn C++.
I have chosen the main areas for myself: automation development, working with APIs, possibly software development, Python does not really fit into the latter area, but this will help me get acquainted with this area.
Now I have already started developing the first project.

The essence of the project is
Arbitration bot. We will compare prices from 2 crypto exchanges and find arbitrage situations. The script will be located on the server and constantly analyze prices. And send us the result via Telegram.

Thanks to everyone who joined my adventure. Below I will report my results :):suspicious:

Python programming is a great place to start. I wish you luck! maybe try robot framework + Python
 
Little news. :rolleyes:
I managed to change the interface a little.
txt files have been replaced. it really turned out to be more convenient for the JSON format, thanks for the advice)
The CoinEx crypto exchange has also been added. At the moment, the bot compares prices on 3 crypto exchanges.

The last stage is studying libraries connected to Telegrams, I will try to add the output of all information to telegrams, as well as calculating the commission for sending coins to crypto exchanges. This will complete this project.

We will study programming further, write your ideas. What projects could we do?
 

Attachments

  • IMG_20240702_232936_117.jpg
    IMG_20240702_232936_117.jpg
    67.7 KB · Views: 22
What interesting project could we develop? :rolleyes:
 
The screenshot of the prices you provided seem very nice price difference... but arbitrage bots I think are not profitable for "normal" people who want to create and code this... people have bought servers on the same physical server location where these exchanges are on... so we're talking almost or we are talking nano seconds transactions... and you will get dumped on... will follow this thread tho I'm very interested! If you need some tips or help dm me :)
 
Hurray, I managed to complete the project :anyway:
I understand that the Python language as a whole is not difficult. The code needs to be constantly studied, since there are many libraries and each has its own logic. I probably could have completed this project faster, but I was putting in +-2 hours a day. Will I continue to develop this project? No. We need to move on. And learn something new. :suspicious:
 
Suggest your options so we can try to develop it.
I don't have a big idea. Let's try to develop an automatic payment processor. Conventionally, we create a page with a choice of payment, for example, bitcoin, usdt and bank card. And the site will automatically process the payment if it has been completed.:закатывать глаза:
 
I prefer c++ 2011 over most languages it's clean yet complex.

Sadly the only alternative to c++ would be c sharp or typescript being Microsoft owned, as non completers.

I dunno pythons not a good language but language for prototyping.

Cannot imagine where someone said it's for those who want in a English representation of a non programmer.


Just looking at raasky wrote he's spot on above, just looking at the java structure I can see this instead of self listed in the global area above the java class.

It's readable where calls can be made.


Hollyfk python is that a char, int, short32, long long, a double, float, bool, string, it's all obfuscated.

Anyways.

Anyways but I understand why people use python I don't hold it against them but it would be nice to have a simplified templating code in c++ or typescript that you can run and is structured exactly like SEO optimization.
 
Last edited:
Programming is not a easy way. Try hard, you can success. Also, programming is now very demandable in marketplace.
 
Python is definitely much easier to learn compared to other programming languages.
Additionally, it is currently extremely popular with AI (think AI Agents etc) and automation.
So I think you made a wise choice.
Good luck!
 
Back
Top