calcopiritus

joined 2 years ago
[–] [email protected] 10 points 2 days ago (7 children)

IMAP is an incredibly simple protocol compared to the sum of all the protocols that are needed to implement a web browser.

A web browser also has to be way more performant.

Both an IMAP client and a web browser have to be reliable and secure. However achieving so in a system as complex as a web browser is incredibly expensive.

Web browsers are almost as complex as operating systems.

Complexity, performance, reliability and security on that level are expensive. You would be delusional to think a web browser should be worth as much as an IMAP client.

[–] [email protected] 1 points 2 days ago (1 children)

No. There is no way to learn programming without a programming language. That's like trying to learn art without using any form of artistic expression. I'm not an artist or nowhere near it but I believe it's an appropriate analogy.

Just like art, you start by doing something, say drawing with a pencil. It is incredibly hard since you have to learn both how a pencil works and how to do art at the same time.

Once you have practiced, you know how a pencil works, and must've learned something about how to do art.

Now you take colored pencils and try to do art. It is difficult because you never did anything with color, but it's easier than the pencil because you now have knowledge about art that you didn't have before starting.

Programming is the same. Usually you start with either a single programming language and try to acquire the basic knowledge about programming. And then you learn other languages, which takes a fraction of the time it took to learn the first one. Since programming concepts are very similar across most programming languages.

Going back to your original question, assuming you want someone else to do the programming:

  1. It will not be cheap. So follow this route if you're either willing to lose money, or willing to earn money with this app.

  2. Once you have the money, you find programmers like any other company. Post job openings and wait until you have applicants.

  3. You will not only need programmers. You will most likely also need art. Games are not a number-crunching program. They are art forms. If you want people to play your game, it must have artistic value. Without art, a videogame is no much different than an spreadsheet. You might find someone that both programs and does the art, but then probably it's going to be expensive or won't be of high quality.

  4. The game is not fully designed yet. Maybe the gameplay is, but there's a lot of design that needs doing on the software side.

  5. I'm a software engineer. Not a business man nor a project manager. There's probably many other big things I've missed.

If instead you want to program it yourself, I have some advice.

First of all, you should probably aim for a platform. Is it mobile or PC? If mobile, both IOS and android? Or only one of them? If PC, Linux, Windows or Mac? Your path will probably vary wildly depending on that.

Being a good programmer takes years, but I'm going to assume you don't want that. You just want to learn it for this project. Well, it's still probably going to take years, just less of them.

Whatever you choose in those questions. The starting point is the same. You gotta learn the basics. For that, unless you are developing from a Linux computer (and are somewhat experienced doing so), I would recommend you start with a language that is easy to set up and install. For that I would recommend either python, java. Another language I love and is easy to set up is rust, but it's not beginner friendly at all.

Python is a very beginner friendly language. There's thousands of free learning courses online. And installing it is very easy. If on windows, the installer has a checkbox like "add to the PATH", just make sure to check that, even if you don't know what it is. After that, it's as easy as making a file with a name ending in ".py" and you can just run the program with "python mygame.py". Python is also a great tool for everyday life automating things related to computers.

Java is less beginner friendly than python, but it has a very important feature called "static typing". Static typing is very unergonomic and rigid when you are writing, but it prevents many mistakes that are very frustrating to fix. It also has many learning resources since it's a very popular language. However most resources are older than python's since java is way less popular than it used to be. Setting up your first java program is a bit trickier than python, but it's not too hard.

Once you choose the starting language (you can also try both! Or switch mid-learning if you don't like your initial choice), you have to do some simpler projects than the one you want to do. There's plenty of beginner project ideas online.

Usually you start by implementing simple little usefull functions. For example string comparison. That is, having 2 strings of text: "mytext1" and "mytext2" you want to make a function that tells you if those are the same. Usually people reimplement functions from the standard library.

After that, you learn making a data structure. For example a list. So that you start with an empty list "[]" and you add numbers to it: [0], [0, 1].

Then you learn how classes work. How methods work. How global variables work.

Once you have basic knowledge of that, you do one of those beginner projects.

Then you learn how to use (and install) libraries.

Then you probably will want to learn how threads, and mutexes work.

Once you feel somewhat confident, you should try implementing your game on PC, without graphics, just the command line.

After that. You move on to your selected platform (iOS, android, PC). You probably will want to use a game engine. That comes with an entirely new and different learning curve. I haven't used any of those so I can't help you with that.

That game engine probably comes with its own programming language. Repeat the steps above with that new language until you feel confident.

Then you will probably start with your project.

You are still learning though. You will probably learn a lot with that project. So your work quality will probably be much larger at the end than at the start. You will probably be frustrated that the shit code you wrote at the start is hindering your progress. Don't be afraid to start over the project from scratch again. It's not from scratch. While doing it you probably developed a better design in your head, having that design will make writing the code the 2nd time much faster than the first time.

[–] [email protected] 1 points 4 days ago* (last edited 4 days ago)

That's what investing is about. You have money, and want to make more money from it. What will you do?

Some people, like you, decide to invest it on producing a product, or invest on a company that produces products so they can produce more and give you a cut.

Other people, prefer to store that value in another form. Say buying gold with your dollars.

The thing is, that there's no objective better option.

Both options have risks and rewards. And the reward is very closely related to the risk. There's no such thing as low risk high reward. In your example, a risk would be new lab technologies developing that would make your lab equipment obsolete, which means that you just lost a lot of money. But if you manage to sell that lab equipment, you'll probably make good money.

The thing about these news is: the risk of buying gold is increasing. That is because its price will eventually stop rising, and you don't know when.

The fact that people keep buying gold even though the risk increase and rewards decrease, means that other options have an even worse risk-reward ratio. This means that people are pessimistic about the economy.

It's not about one way of investing being better than the other. It's about seeing people's perception of the economy through their choice of investment.

[–] [email protected] 5 points 6 days ago

My sympathy for them instantly vanished.

They got the day they voted for.

[–] [email protected] 15 points 2 weeks ago (1 children)

You can see it for yourself.

Write a comment/post critical of china in any community from the lemmy.ml instance.

For example about the Uyghurs or the mass surveillance or whatever is your topic of choice.

See how much time it takes for them to ban you/remove your comment under their rule of "no xenophobia".

[–] [email protected] 14 points 2 weeks ago (16 children)

If by war you mean the Ukraine war. And by anti you mean give Russia all it wants in order to end it. Yes, anyone that is anti-war is a tankie.

[–] [email protected] 1 points 2 weeks ago (2 children)

Do they ask to implement quick sort to people with job experience? I thought they only did that to juniors.

[–] [email protected] 15 points 2 weeks ago

The more sandboxed the extension system, the less powerful it is.

You either have an entity that approves of extensions. Or your users have to be very careful and trusting of other people. There's no other way.

[–] [email protected] 1 points 3 weeks ago

Tells this to the millions of voters that thought "tarif every country, specially or allies" would be a great economic plan.

[–] [email protected] 10 points 3 weeks ago (3 children)

To be fair. Nintendo is currently the only producer of AAA games that I would consider buying.

That being said. The rest of AAA devs should lower the prices of their games accordingly to their endhittification. Nintendo game quality didn't increase, some even decreased (looking at you, pokemon).

[–] [email protected] 19 points 3 weeks ago (11 children)

If you don't click on yes. You haven't given your consent

[–] [email protected] 7 points 3 weeks ago (1 children)

Given how a lot of women are, don't be creepy does mean "don't approach them at all. Unless I'm interested in you, which I won't tell you because men have to make the first move".

 

For those that don't know: Mount Balrior Raid Expert is an achievement of the new W8 raid. To get that achievement you have to obtain 100 points for each of the bosses of the wing. You obtain one point for each person in your squad for whom it was the first kill time ever that they kill that boss.

  1. It is a pyramid scheme. By design, only about 1/11 players can get it (at best).
  2. It encourages people that don't wanna train to do trainings. They are irritated more easily and are way less patient towards new players. Because they don't wanna train new people, they only want to get the achievement.
  3. It will only be harder as time goes on to get this achievement, further increasing the toxicity of it, as people rush to get it.
  4. It makes non-training runs worse. If there is an underperformer, you can't kick him because people will get angry that they wont get points for the achievement and they will leave. If you don't kick him, you'll both waste time on easily preventable wipes and people will also leave because of it.

Training runs should be done by people that actually want to train. If you want to encourage trainings, you should reward re-clearing wings, doesn't matter if it's a training run or not.

 

I want to do basically this:

struct MyStruct < T> {
    data: T
}

impl < T> for MyStruct < T> {
    fn foo() {
        println!("Generic")
    }
}

impl for MyStruct < u32> {
    fn foo() {
        println!("u32")
    }
}

I have tried doing

impl < T: !u32> for MyStruct < T> {
    ...
}

But it doesn't seem to work. I've also tried various things with traits but none of them seem to work. Is this even possible?

EDIT: Fixed formatting

view more: next ›