Homebrew Question What would be the ideal coding language to make homebrew apps when the Switch gets hacked?

ChaosRipple

Well-Known Member
Member
Joined
Oct 1, 2015
Messages
272
Trophies
0
Age
29
XP
183
Country
United States
Basically Assembly, C, C++ as they all compile into machine code directly.

What are the advantages of using C over C# or C++? none?
Any languages not listed above such as C# or Java will need their runtime environment set up on the system - the .Net Framework and the Java Runtime Environment respectively. They have the advantage of making coding a lot easier and quicker because a lot of common functionality is already done for you. Hence, a lot of programmers out there would argue that C#, Java or any other similar languages aren't good because of the stuff that is automated for you (garbage collection for example), which ultimately blinds you from knowing how the computer works more in-depth.
 
Last edited by ChaosRipple,
  • Like
Reactions: Alkéryn

evandixon

PMD Researcher
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,373
Country
United States
Hence, a lot of programmers out there would argue that C#, Java or any other similar languages aren't good because of the stuff that is automated for you (garbage collection for example), which ultimately blinds you from knowing how the computer works more in-depth.
I'd say that's a poor argument for two reasons:
- It extends to C, because that blinds the programmer from understanding the underlying machine code. A human could write much better ASM/machine code than the compiler, right? [/sarcasm]
- While it's good to know how it works under the hood, worrying about these things takes time and effort which could instead be spent on other features. In many cases (many but not all) the automated stuff is better than what a human could do. It's still possible to create a memort leak using .Net, but in C/C++ it's far far easier and much more common.
 

grossaffe

Well-Known Member
Member
Joined
May 5, 2013
Messages
3,007
Trophies
0
XP
2,809
Country
United States
I'd say that's a poor argument for two reasons:
- It extends to C, because that blinds the programmer from understanding the underlying machine code. A human could write much better ASM/machine code than the compiler, right? [/sarcasm]
- While it's good to know how it works under the hood, worrying about these things takes time and effort which could instead be spent on other features. In many cases (many but not all) the automated stuff is better than what a human could do. It's still possible to create a memort leak using .Net, but in C/C++ it's far far easier and much more common.
You compile down to the assembly code and look at it if need be in C, and you can write inline assembly if it's a critical section of code. Also, garbage collection is not a thing in C. You allocate and deallocate memory yourself rather than some garbage collector coming in and doing it whenever the hell it pleases.
 

evandixon

PMD Researcher
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,373
Country
United States
You compile down to the assembly code and look at it if need be in C, and you can write inline assembly if it's a critical section of code. Also, garbage collection is not a thing in C. You allocate and deallocate memory yourself rather than some garbage collector coming in and doing it whenever the hell it pleases.
I say why spend the time doing all that yourself when experts have made it unnecessary. (.Net allows unmanaged memory operations too, although that's usually asking for trouble, because when one has more control over memory, one has more responsibility over memory, and often times people overlook minor details that turn into huge errors.). Why deal with pointers when reference variables are far easier while being just as powerful. Not to mention the myriad of other features. (My favorite is reflection.)

The only reasons I see why one would legitimately prefer C/C++ over a higher level language:
- Embedded systems where there aren't enough resources for a higher level language
- Advanced graphics engines where speed is of the essence
- Operating systems and APIs which the higher level languages run on

Python.

:^)
I'm not a fan of Python TBH. Reasons:
- Whitespace
- Lack of type safety
- Classes and properties feel like an afterthought
- Whitespace (I feel extra strong about this so I included it twice)
 
Last edited by evandixon,
  • Like
Reactions: jsa

sarkwalvein

There's hope for a Xenosaga port.
Member
Joined
Jun 29, 2007
Messages
8,525
Trophies
2
Age
41
Location
Niedersachsen
XP
11,305
Country
Germany
Actually Python is a great language because of whitespace.
If I could decide what to use in a project, I would go with C++ for serious code and Python for beautiful code.
I would never use Java because it should die a painful death. (several reasons)
And regarding memory leaks, Java IS a memory leak. I remember having a whole project done in C++/Qt by me, it used around 10MB of RAM, and the same thing ported to Java by someone else... 960MB of RAM... and it slowed down whenever it felt like, yey garbage collection! /s
C# is actually nice, I could use that, but is not my preferred.
That said, normally I don't get to choose what to use in a project.
 

ChaosRipple

Well-Known Member
Member
Joined
Oct 1, 2015
Messages
272
Trophies
0
Age
29
XP
183
Country
United States
I'd say that's a poor argument for two reasons:
- It extends to C, because that blinds the programmer from understanding the underlying machine code. A human could write much better ASM/machine code than the compiler, right? [/sarcasm]
- While it's good to know how it works under the hood, worrying about these things takes time and effort which could instead be spent on other features. In many cases (many but not all) the automated stuff is better than what a human could do. It's still possible to create a memort leak using .Net, but in C/C++ it's far far easier and much more common.

I was so close to saying, "not trying to start an argument," since there are a lot of programmers out there who are really sensitive to this topic. Thank god nobody went ham on your reply. To straighten things up, I stated, "a lot of programmers out there" make that argument, not me as I prefer not to give my opinion on this subject, mainly to avoid arguments. And I've already mentioned that these languages make programming easier. ;)
 

RemixDeluxe

Well-Known Member
Member
Joined
Nov 23, 2010
Messages
4,583
Trophies
0
XP
2,525
Country
United States
Is it really a bad idea to learn C++ and then C in that order? I've read about how it can throw you off badly and its not advised.
 

Alkéryn

Moon Dweller ~
Member
Joined
Mar 15, 2015
Messages
1,665
Trophies
1
Age
25
Location
Albategnius, Moon
XP
2,392
Country
France
Is it really a bad idea to learn C++ and then C in that order? I've read about how it can throw you off badly and its not advised.
Learning C first also have its disavantage as people will then try to use C style programming on C++
i think the best is still to learn C first but to understand that C and C++ are NOT the same language when you learn C++
 
  • Like
Reactions: RemixDeluxe

Bedel

The key of the blade
Member
Joined
Oct 28, 2015
Messages
1,384
Trophies
0
XP
2,867
Country
United States
Well... Some people here may gonna kill me, but java is possible and may not be a bad idea at all.
Most novice programers use this language, so it could lead to more (simple) homebrew! Also, in some ways it's faster to program on it than it's con C, C++ and C#.
Yes, you'll have less RAM to use for the homebrew, but some utilities (like a e-shop music changer and this kind of stuff) don't really need it.
 

Alkéryn

Moon Dweller ~
Member
Joined
Mar 15, 2015
Messages
1,665
Trophies
1
Age
25
Location
Albategnius, Moon
XP
2,392
Country
France
Well... Some people here may gonna kill me, but java is possible and may not be a bad idea at all.
Most novice programers use this language, so it could lead to more (simple) homebrew! Also, in some ways it's faster to program on it than it's con C, C++ and C#.
Yes, you'll have less RAM to use for the homebrew, but some utilities (like a e-shop music changer and this kind of stuff) don't really need it.
Really bad idea since the switch don't have a built in java interpreter
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Psionic Roshambo @ Psionic Roshambo:
    Float like a butterfly burns when I pee lol
    +1
  • BigOnYa @ BigOnYa:
    So does that mean your date was not good? It burns now?
    +2
  • K3Nv2 @ K3Nv2:
    Got two new stds in one night
    +1
  • BigOnYa @ BigOnYa:
    Giggity
    +1
  • The Catboy @ The Catboy:
    I don't bite! Minus the times when I did bite
  • The Catboy @ The Catboy:
    Like 5 minutes ago
  • K3Nv2 @ K3Nv2:
    Billie needs her lunch
  • K3Nv2 @ K3Nv2:
    Ffs papa brought back the cheeseburger pizza it's like the only decent pie they had since the 80s
  • BigOnYa @ BigOnYa:
    I'm not a fan of papa johns, but that does sound good. We hardly order out pizza, I like making my own, but when we do its donatoes
  • K3Nv2 @ K3Nv2:
    I get them like once every two months anymore
  • K3Nv2 @ K3Nv2:
    Just because it's half a mile from where I live
  • BigOnYa @ BigOnYa:
    Request next time you order, that Shaq deliver it to you
  • K3Nv2 @ K3Nv2:
    I want him to buy me a chain also
  • K3Nv2 @ K3Nv2:
    Open it right next to the one we have
    +1
  • BakerMan @ BakerMan:
    guys should i make a new thread and just count the amount of posts until kyle, luke or leo joins the thread for fun?
  • BakerMan @ BakerMan:
    kyle's fine, just waiting for that wario joke

    luke and leo though, they yap until the thread's enjoyability is about halved
  • K3Nv2 @ K3Nv2:
    Leo is Luke's alterego when he gets hard
  • BigOnYa @ BigOnYa:
    Luke is gone, he got banned. And I'm surprised Leo hasn't yet
  • K3Nv2 @ K3Nv2:
    Subway was actually pretty decent tonight
  • BigOnYa @ BigOnYa:
    Wut you get, a seafood and psi salad sub
  • K3Nv2 @ K3Nv2:
    Psi had my footlong meatball special
    +1
  • PandaPandel @ PandaPandel:
    i want a meatball sandwich
    now
  • K3Nv2 @ K3Nv2:
    Gay
  • BigOnYa @ BigOnYa:
    Bout time you came out and admitted it
  • K3Nv2 @ K3Nv2:
    Bigonya talks to himself often
    +1
    K3Nv2 @ K3Nv2: Bigonya talks to himself often +1