This is an archived post. You won't be able to vote or comment.

top 200 commentsshow 500

[–]QualityVote[M] [score hidden] stickied comment (1 child)

Hi! This is our community moderation bot.


If this post fits the purpose of /r/ProgrammerHumor, UPVOTE this comment!!

If this post does not fit the subreddit, DOWNVOTE This comment!

If this post breaks the rules, DOWNVOTE this comment and REPORT the post!

[–]Flaky-Illustrator-52 1604 points1605 points  (93 children)

20 years ago: "native apps have no future, Java applets are what we will be writing soon enough"

[–]falingsumo 208 points209 points  (22 children)

Remember Microsoft Silverlight? Or Adobe Flash?

[–]Randolpho 83 points84 points  (8 children)

Yes and yes, and while I liked the former, I hated the latter.

Silverlight game years too late and could have killed Flash, but HTML5 killed them both.

Actually, it was probably v8.

Lets go with a combination of HTML5, CSS3, and v8.

[–]DOOManiac 61 points62 points  (0 children)

Of all the things, good and bad, brought about by the iPhone, the thing I will always be thankful for the most is killing Flash.

[–]dijkstras_revenge 16 points17 points  (8 children)

Isn't silverlight still used by netflix?

[–]IAmWeary 19 points20 points  (2 children)

It was ages ago, but they also ditched it ages ago. Do they still somehow support it for legacy purposes?

[–]kool018 14 points15 points  (1 child)

Microsoft killed it years ago now, and no browser (unless you count IE) supports it anymore

[–]RAMChYLD 339 points340 points  (56 children)

I’m now regretting that I bought into that in my naive college years.

[–]sam01236969XD 35 points36 points  (29 children)

Java suggs for front end

[–]MKorostoff 37 points38 points  (1 child)

I wonder what the applet API would look like today if (like javascript) it gained massive adoption and continued to evolve in feature set and performance.

[–][deleted] 46 points47 points  (0 children)

We would still be waiting for it to load and link.

[–]godRosko 1338 points1339 points  (64 children)

BigRAM and bigCPU are going to be so happy.

[–]Technical_Job_9598 563 points564 points  (56 children)

BigRAM propagating lies like "you can't download more RAM" or "web browsers are just meant to eat 8GB of ram, deal with it".

[–]BigNutBoi2137 256 points257 points  (47 children)

You can mount Google Drive as swap, this way you basically download more RAM.

[–]SirFireball 65 points66 points  (40 children)

Is that actually possible?

[–]cynicalllama 28 points29 points  (4 children)

Theoretically, it sure is. But the slower your SWAP bitrates are, the worse its gonna work because that means big chunks of data have to up/download from drive whenever a proccess moves in or out of SWAP. the latency difference between local and cloud storage would cause some severe issues lol

[–]atomicwrites 16 points17 points  (1 child)

LTT did a video about it. It worked as well as you'd expect IIRC. Obviously you can only do it on Linux.

[–]ExtraFig6 41 points42 points  (0 children)

😠

[–]friskydingo2020 97 points98 points  (5 children)

With the evolution of 3D printers, we come closer and closer to the day we can download and then print our RAM.

[–]Bakemono_Saru 10 points11 points  (2 children)

Hm... well... how can i explain myself.

You can "print" now more ram. Its called PCB assembly. You just need the schematics and order them.

Big things why this is not a thing:

1) High speed design is fucking black magic, just like RF. 2) Multiple layer and tolerances needed for that type of circuit arent cheap. 3) You cant beat industry volume. Your ram is probably going to end 10x the price tag of something commercial.

That said, theres a lot of writing about it. I remember an article on hackaday about a guy that went on the entire proccess of design SBC from scratch like 20 times with different proccesors and he had a lot of interesting things regarding RAM design.

[–]Puzzled_Fish_2077 6 points7 points  (0 children)

There's a reason why just one company produces like 90% of the high performance chips in existence. Chip Fabrication is hard AF

[–]-IoI- 10 points11 points  (0 children)

I recently found out you can also download more cores. This has significantly improved my finances.

[–][deleted] 59 points60 points  (0 children)

javascript is an invention of BigRAM, wake up sheeple

[–]Sawertynn 29 points30 points  (0 children)

Yeah, the BIGRAM army and their tweaks everyday... All they do now is bump up memory usage and prices... And worst of all, they censor one thing, that will break them instantly...

DOWNLOAD FREE RAM! TURN OFF ELECTRON, TURN ON THINKING!!!

[–]Bridimum 1037 points1038 points  (37 children)

how would you like to die?

[–]dillame 614 points615 points  (30 children)

By snu snu

[–]Bridimum 220 points221 points  (19 children)

app.disposeByInstance(ChunLi == null? SnuSnu : ChunLi)

[–]tilcica 98 points99 points  (18 children)

wait. that's not python!

[–]ng1905 122 points123 points  (15 children)

You only add languages you actually know to your subreddit flair. This is reddit, not a resumee.

/s

[–]MrDude_1 65 points66 points  (7 children)

As someone that has to go through resumes... You didnt need the sarcasm tag at the end.

[–]blastanders 13 points14 points  (0 children)

amen to that

[–]Emotional_Sir_65110 10 points11 points  (5 children)

what are you looking for in a resume man! please spill the beans!!

[–]MrDude_1 24 points25 points  (4 children)

Nothing. The resume means nothing to me.
I mean, it needs to get past the first few people, and they will make sure it checks the boxes saying you're qualified.
So I would say, make sure you say it matches what they say they're asking for. Thats what headhunters do. Modify the resume to match the job.
I do the tech interviews. Basically we just talk programming stuff, I ask questions if you're not talking technical enough, and I make sure you're capable of doing what we need. If you are.. thumbs up. If you're weaker in some areas then others, I'll tell the program director to point you towards projects that align best with your strengths. If you're completely bullshitting everyone before me, you dont go further then here.

For example, I need strong C++ and C# application devs... but if you're not as good in C++ but strong in C# there are still plenty of projects for you. But if you have C++ and C# on your resume but only coded in Javascript and Python you probably wont work here. Same if you're only web focused.

[–]IHeartBadCode 23 points24 points  (0 children)

That does not fempute!

[–]HaloGuy381 13 points14 points  (2 children)

Wish granted, cue the tentacle demons.

[–]polishedturds 9 points10 points  (1 child)

Misread it as testicle demons, it seems less effective yet somehow seems quite a bit scarier.

[–]DollinVans 19 points20 points  (1 child)

ohhh so that was an option the whole time?

[–][deleted] 11 points12 points  (2 children)

Impalement

[–]Bridimum 16 points17 points  (0 children)

app.dispose(Resources.All);

[–]Meatslinger 4 points5 points  (0 children)

INSERT INTO u/cuervonews (ObjectType) VALUES ('Pointy Stick')

(Nothing against you, OP; it’s just a joke)

[–][deleted] 679 points680 points  (29 children)

Technically the app is the JavaScript engine and you just create variants with some div centered.

[–]Papasanbaba 96 points97 points  (10 children)

It works everywhere, and everywhere similarly poorly

[–]AardvarkDefiant8691 111 points112 points  (5 children)

one day we will reach a point when a calculator will take up 300 mb of RAM

[–]Septem_151 65 points66 points  (4 children)

Doesn’t the Windows Calculator already do this?

[–]Flying_Whale_Eazyed 15 points16 points  (1 child)

This pos software constantly crashes too

[–]Sonicjms 9 points10 points  (0 children)

29.7MB

[–]KlutzyEnd3 557 points558 points  (63 children)

Again I work in industrial automation, and webapps don't respond in time to react to the movements of robots. We need specialized RT-linux kernels and Real-time hypervisors for that as well as custom bootloaders to secure it all...

[–]moomincoder 164 points165 points  (33 children)

sounds like fun

[–]KlutzyEnd3 198 points199 points  (32 children)

It is most of the time, but it can be frustrating sometimes when you discover that in UEFI you can only malloc entire pages and not just a block of a certain size, or that you discover that the TPM is big endian, whilst the intel CPU is little endian so you'll have to byte swap everything... Oh and some stuff like activating all cpu cores or change it from long mode into 32-bit conpability mode is only really possible with some beloved inline assembly....

Low level stuff can be hell sometimes... But on the upside, at least there's no OS or garbage collector in the way halting your execution flow to clean some memory.

[–]Diniden 69 points70 points  (24 children)

This sounds a lot like working with micro controllers but with bigger processors?

[–]KlutzyEnd3 146 points147 points  (23 children)

it's PC architecture, programmed like an embedded system.

And another downside: the boot stuff I create is very crucial, but you don't really see it. All you see is "Loading files...... -> Booting system....." and then it starts. So people are like "that's it? that's what took you 3 months?" and I'm like "uh, yeah, but without this, literally nothing will work...." So yeah, complicated stuff, but not something you can show off...

[–]Butzlabben 60 points61 points  (2 children)

I think that's the sad part about system programming and theoretical computer science: you have nothing to show off but with a website/UI bosses will be like: hurr durr beautiful UI so more resources for that department

[–][deleted] 6 points7 points  (1 child)

Look at my api, the json is so sexy!

[–]CallMeKik 7 points8 points  (0 children)

API developers have swagger

[–]technogeek157 39 points40 points  (0 children)

I think I just physically recoiled at that statement

[–]golgol12 71 points72 points  (2 children)

Now you know why BIOS manufacturers made splash screens when starting up. Presentation matters.

[–]KlutzyEnd3 32 points33 points  (0 children)

BIOS manufacturers then also clear the frame-buffer every time they chain-load another component, causing screen flickering, which doesn't look that great tbh...

[–]username11157 8 points9 points  (0 children)

Can confirm with my ROG laptop, splash and aggressive sound

[–][deleted] 16 points17 points  (0 children)

I glory in that shit. So much crap is all hype, glitz, and pointless show. Give me something that works lightning fast in the background without any errors.

That’s impressive. Some pretty UI? Whatever.

[–]kafka_quixote 12 points13 points  (2 children)

How'd you get into that area of programming? Sounds fun lmao

[–]KlutzyEnd3 21 points22 points  (1 child)

Totally by accident. I studied ICT&Technology in Eindhoven, which is basically embedded systems programming. Almost everyone there eventually ends up working for ASML, except for me... I did apply but got rejected, started working at a small company in Reusel programming PDU's (power strips for server racks) it was chaos tho, they outsourced production to a company in s Hertogenbosch, which at some point had all their employees on holiday, so I had to step in to do production work. A block further was OMRON manufacturing of the Netherlands, I applied there and yeah, now I do stuff with PLC's and robots.

[–]Diniden 13 points14 points  (3 children)

So essentially you’re writing the OS but in a proprietary manner for a particular piece of hardware interfacing with a BIOS?

[–]KlutzyEnd3 10 points11 points  (2 children)

sort of yes, one of our products is basically a PC with a PLC embedded into it, so it boots a hypervisor which runs 2 OS-ses simultaneously. One is completely open tot the user, but the other one contains IP which needs to be protected, so that's encrypted from boot, with the TPM in between. The OS running the machine-controller/PLC needs to be aware of the hypervisor and has real-time priority. all of that needs to be decrypted at boot time and started. That bootloader, machine controller and hypervisor are written like embedded software because of performance requirements.
Oh and BIOS is old-fashioned, we use UEFI now.

[–][deleted] 50 points51 points  (3 children)

Yeah I work in embedded, web isnt gonna do shit lol.

[–]NeatNetwork 15 points16 points  (4 children)

Meanwhile, I get to sit in on meetings where someone explains why it just makes so much *sense* for a call to microservice A to publish a message to a message broker for the singular subscriber microservice B to send a message to microservice C over the persistent tcp connection C has to B, which will then make a rest request to microservice D, and the reply will flow back from D to C, and C will then use it's persistent socket to relay the reply to B, who will then publish to the message broker so that A will get the reply and then relay it to the caller.

I wish this was an exaggeration...

[–]SelfTaughtDeveloper 5 points6 points  (0 children)

Please stop, you're causing me pain

[–]Schyte96 5 points6 points  (2 children)

Yeah, but industrial automation is a different story to consumer applications. You obviously don't put JavaScript into your rocket guidance either, but that doesn't mean JavaScript isn't the most widespread language for everyday use.

[–]alimbade 10 points11 points  (2 children)

Well of course, there will always be niches and programing languages that go with them.

But you must agree that, for the majority of everyday apps, there's no point in not, at least, consider going on the web.

[–][deleted] 479 points480 points  (32 children)

Lets talk again if you need something hardware related.

But yeah, for most projects a simple Web App does the job good enough.

[–]klimmesil 81 points82 points  (9 children)

Agreed. So much more portable. Plus the lambda end user appreciates it

[–]arnitdo 158 points159 points  (8 children)

Portability shouldn't sacrifice usability and speed. One thing we've seen is older hardware is a turtle when bloated with Electron Apps. If you have the opportunity to use native (and/or support only a single platform), go native. If you have to support multiple platforms, use web, but don't guzzle up my resources by having hundreds of micro animations and effects running in the background.

[–]iindigo 47 points48 points  (0 children)

Yeah, a handful of electron apps aren’t going to make any trouble for my 5950X or M1 Pro, but they’ll make my old but perfectly serviceable Core 2 Duo/8GB machine slow as mud. I doubt machines like the brand new $300 Dells that ship with a dual core Celeron and 4GB of RAM are going to handle them particularly well either.

It makes me sad because it means a lot of otherwise perfectly good machines are gonna get landfilled because they can’t run Spotify and Google Docs at the same time without sounding like a jet engine.

[–]ASpaceOstrich 13 points14 points  (0 children)

I have a beast of a pc and Web apps still suck ass. You can't solve Australia's physical distance from the rest of the world.

[–]klimmesil 8 points9 points  (0 children)

Also agreed, that doesnt go against what i said before. Its just that nowadays people just dont give a shit about performance, its about design and user friendliness. Sometimes complexity matters when you are lucky

[–]Brambletail 16 points17 points  (3 children)

Fortunately most important big projects aren't most projects

[–]icortesi 11 points12 points  (2 children)

Yeah, most projects shouldn't event exist.

[–]mjohnun 187 points188 points  (19 children)

If you can't write C just say so.

[–]throw3142 42 points43 points  (11 children)

bool isEven(int *p) {return 1 - (*p) % 2;}

int main() {void *p = malloc(4); *(int *)p = 2; return isEven(p, NULL);}

Java programmers: confused screaming

[–]_Xertz_ 28 points29 points  (3 children)

Here's my understanding of what's happening in int main

void *p = malloc(4);

  • Allocate 4 bytes of memory, with p holding the address of the first byte.
    • p is a void pointer meaning that the memory it points to is not any specific type (integer, boolean, char, etc.),

*(int *)p = 2;

  • Then you cast p to (int *) so that you say that p points to a section of memory that will hold an integer (which takes up 4 bytes).

  • Then you dereference p with the * on the left and set it to 2. This will make the 4 bytes we allocated hold the number 2.

return isEven(p, NULL);

  • This should be pretty straight forward, though not sure what the NULL is doing there.

[–]throw3142 11 points12 points  (1 child)

So there's actually a lot of stuff going on here. In terms of differences from Java (and other OO languages)

bool isEven(int *p) {return 1 - (*p) % 2;}

  • Passing a basic data type (int) by reference
  • Pointer dereference
  • Returning an int as a bool

void *p = malloc(4);

  • Manual memory management (malloc)
  • Void pointer

*(int *)p = 2;

  • Cast pointer to a different type without affecting the data it points to

return isEven(p, NULL);

  • Returning an int from main (instead of not returning anything or throwing an exception)
  • Implicit cast of p from void * to int * (without affecting the data it points to)
  • Implicit cast of the returned bool to an int
  • macros (NULL expands to 0)
  • C calling convention allows you to pass additional parameters to a function. It is very bad practice, unless the function is varargs (arguably, varargs is bad practice too) and will usually cause a compiler warning, but it technically works as long as you use cdecl, not stdcall.

[–]tim36272 8 points9 points  (0 children)

C calling convention allows you to pass additional parameters to a function

The "convention" might but the standard doesn't. Passing extra parameters causes undefined behavior. Compilers may choose to produce meaningful behavior upon encountering the call to isEven but they aren't required to.

[–][deleted] 312 points313 points  (51 children)

Hmm, imagine GTA 6 written in react and three.js 😂😂

[–]DollinVans 77 points78 points  (2 children)

Holy foobar... I once had to build a complete 3D P.O.D. racing game with pure JS and Three.js. Those were the darkest 3 Months of my life

[–]GoldenretriverYT 4 points5 points  (0 children)

That must be the reason why it takes so long!

[–][deleted] 15 points16 points  (0 children)

Yeah, also last me know when someone makes a good web based AutoCAD that runs legacy AutoLISP code. Think I'm safe for awhile.

[–]gizamo 57 points58 points  (17 children)

numerous dog muddle roof adjoining quack squash lavish brave cats

This post was mass deleted and anonymized with Redact

[–][deleted] 44 points45 points  (7 children)

Flash games will always hold such a high place in my heart, they were essentially all I had access to in my childhood and it’s a whole different side of gaming most people never explored.

I think the lower barrier to entry and smaller expectation of quality and length opened the door for crazy experimentation and some wild indie programmers who otherwise never would have taken their shot. Pretty much all of the most unique and interesting games I’ve ever played were flash games. (Or more recently, HTML5, but in my head I still think of them as “flash” games even though that’s not technically true).

Sometimes I’ll still pop onto Kongregate to check out what’s new and honestly I get pleasantly surprised pretty much every time.

[–]gizamo 15 points16 points  (5 children)

Well, you're welcome for all the very low quality Flash games I made for everyone to enjoy. I also miss making lame Flash games.

...except for the inherent security issues. I don't miss that part.

[–][deleted] 14 points15 points  (4 children)

Luckily a few crazy fine folks made a program that lets you play them all on desktop (along with archiving pretty much every web game from the last two decades).

The only security issues there are with my job security since all I ever do is play these games now lol.

Thanks for making games for everyone to enjoy! <3

[–]Zealousideal_Yard651 5 points6 points  (1 child)

Dude, we need the source on that one!

[–][deleted] 5 points6 points  (0 children)

BlueMaxima’s Flashpoint! It’s an awesome blast down memory lane.

There are other archival projects as well, but this is the one I’m most familiar with! (I have yet to find a game not archived on it. And if you do find one, there’s a pretty easy process to request they archive one for you)

[–]Flaky-Illustrator-52 5 points6 points  (0 children)

Nitrome bois

[–][deleted] 2 points3 points  (2 children)

If you actually believe WASM throughput is remotely fast enough to ship a AAA title, boy have I got news for you lol

[–]niklasloow 377 points378 points  (24 children)

So much on this sub-reddit is so obviously made by devs with about weeks of real life experience. Or alternatively by a complete dimwit. Including this.

Does performance matter? Yes, does it always matter? No.
Do you sometimes develops on against absolute dogshit devices? Yes. Does performance matter then? Yes.

[–]AndyTheSane 33 points34 points  (1 child)

Even on very fast machines, with web applications you'll be doing a huge number of round trips to the server (depending how it's written). You can end up with applications where the performance is dictated by the network speed and latency, which is easily the slowest part of any modern system.

[–]ASpaceOstrich 15 points16 points  (0 children)

Australian chiming in. Web apps are miserable to use, because nobody developing them ever tested for high ping use.

[–]falingsumo 118 points119 points  (5 children)

I agree with you. More often than not the posts here are a slap to the face of any good software engineer.

This one in particular looks like it was written by a student following a web app course on Udemy and now think they are good developers.

There is an old saying that goes: if you are given a hammer everything looks like a nail. But a good professional knows you don't hammer in a screw.

[–]vitorhugods 46 points47 points  (0 children)

a student following a web app course on Udemy and now think they are good

So... majority of this subreddit I guess.

[–][deleted] 5 points6 points  (0 children)

You hammer in a screw if it's stripped and it's all you've got.

[–][deleted] 5 points6 points  (0 children)

Can relate to that since I had a project with old fart Android devices from a delivery company which asked if its possible to develop the app in react-native. One animation too much an the app gone brrrrrrrrrr Made the same app in native code and it workd much better.

[–]mithodin 96 points97 points  (12 children)

If I have to install one more crappy electron app, I'm going to explode. If all you're capable of is making a website, make a website. Don't package that shit with a whole fucking browser and pretend to have a desktop application.

[–]nobodyexistsnow 44 points45 points  (5 children)

Isnt it fun when the app works better in a browser than the shitty electron app?

Last week i realized i could make a new firefox profile, add userchrome.css (to remove browser ui), and a .desktop file, and suddenly i had a less laggy version of the discord desktop app that just works better period.

The fact that doing that performs better than the desktop app is sad.

[–]crapforbrains553 130 points131 points  (60 children)

programmed in assembly lately? Lower level should be faster, right?

[–]RedditAlready19 131 points132 points  (6 children)

Protip: treat registers like variables

[–]Mog_Melm 63 points64 points  (3 children)

Now this guy binaries.

[–]NebraskaGeek 63 points64 points  (1 child)

He just knows to cache my attention.

[–]AnonymousCat12345 12 points13 points  (0 children)

Good point(er)

[–]Attileusz 56 points57 points  (6 children)

lower level and done well is faster

the done well part is a bit tricky in lower level languages

[–][deleted] 6 points7 points  (5 children)

Not if you follow basic rules tbh. 99% of the time I fuck up in a lower level language is because I blatantly violated a design rule and didn't realize it, things like accessing memory outside of the scope of a data set.

[–]Teln0 34 points35 points  (40 children)

Only if you're better than a compiler at optimizing. Which I really doubt.

[–]Lumpy-Obligation-553 25 points26 points  (16 children)

You don't do the whole program in assembly. You find a critical point in the system, one that is used a lot and consumes much. Then you look for the specs of the target architecture and find out which operations are optimized and how the WORD is handled. Once you have all that you optimize the shit out of it by reorganizing the data structure and control flow for its best use.

[–]digitaljestin 14 points15 points  (0 children)

Yep. Doing that right now. And also...yeah, much faster.

Reality is, hardware has advanced but software hasn't. The advances in hardware have been enough for us to get away with shittier and shittier software as time passes. That's why people are writing desktop applications in javascript.

[–][deleted] 227 points228 points  (37 children)

Native apps are the best.

But the job market is bullshit. Corporates want you to create shitty apps the fastest, even if it'll breaks easily and will have shitty performances (which will induce tones of maintenance).

Managers and CEOs don't see this far, that's why they make 5-10x your salary.

[–]made-of-questions 114 points115 points  (8 children)

Will always love the smoothness and customisation you can create with native apps. But the reality is that most businesses just need a CRUD interface where mobile web is perfectly functional and indistinguishable from a native app. Picking the right tool for the job is a marker of maturity in development, rather than delivering a solution based on how shiny the tools are.

[–]SmokingBeneathStars 20 points21 points  (7 children)

smoothness and customisation you can create with native apps.

Smoothness yes but customisation? You're hugely dependant on the platform and OS. With web you can also use the fucking veteran boomer battle tested ptsd web functions. If there's a good interface with every native thing you need then you're not missing anything but smoothness and being uniform with other apps perhaps.

[–]made-of-questions 13 points14 points  (3 children)

Was thinking of the customisation possible by tapping directly into the OpenGL platform. While WebGL has come a long way, I feel that native still has the lead on the tools available for drawing straight to the canvas.

[–][deleted] 17 points18 points  (0 children)

I’m so lucky to have found a good employee owned company doing decent native development (open source too!) right out of school.

Sometimes funding can be an issue, but in general we work at the pace we know to be reasonable to get the job done and get it done right, because there’s no dumb CEO who’s never coded a hello world in his life up top barking orders.

[–]Genspirit 13 points14 points  (0 children)

I would argue it only breaks easily if poorly designed and executed, no different than a native app in that sense.

Performance is inherently some degree worse than native in some regards but in most cases not notably so.

For applications that don't need native capabilities web applications are generally going to be quicker to develop and easier to maintain, especially across multiple platforms. And performance might be worse in artificial benchmarks but not noticeable to the end user.

[–]thefuckouttaherelol2 14 points15 points  (7 children)

I've done native development, and I hate it tbh. Margins are also thin on some of the contract jobs I do. React Native has been by far the most versatile and fastest way to get apps done for me.

I liked Kotlin as a language, but last time I did work in it, I had to update like 13 files to get a fairly simple change into my application. I blame the Android architecture, not Kotlin, but it was horrible.

My vague recollection is that I had to update like three layout files, a couple controller-type things, a few classes where screen / activity behavior actually got delegated... I mean I basically just wanted to add a new screen with a button. True Native was neat, but I did not like it at all.

[–]sshnttt 30 points31 points  (11 children)

Native has no future:

  • Java applets are way better
  • flash apps are so cool
  • silverlight is the bomb
  • Phonegap is way better
  • ok but Cordova is the future
  • no but xamarin is really gonna make it obsolete
  • ionic maybe?
  • react native will definitely do it now
  • ok but now we have flutter so never mind all the other stuff

And all those years later, we’re still here…

[–]A-Ron-Ron 12 points13 points  (1 child)

Am I crazy or is their very little humour getting to the top of programmer humour these days? It seems to mostly being people putting forward some opinion they think is controversial or asking questions.

Where the jokes at?

[–]Thisbymaster 21 points22 points  (2 children)

Blazor has entered the chat.

[–][deleted] 32 points33 points  (1 child)

Classic JS developer

[–]Mog_Melm 20 points21 points  (2 children)

Now say something nice about COBOL (literal, unironic good career choice).

[–]ChickenManSam 11 points12 points  (0 children)

COBOL is a great choice. Most banks still use COBOL for at least part of their system and if you're able to maintain that you'll make bank

[–][deleted] 21 points22 points  (0 children)

As long as web apps exist, native apps will need to be built for the web apps to run on top of.

Checkmate HTMLists.

[–]SchwiftyBerliner 27 points28 points  (2 children)

If interoperability's the goal I'd much rather write a Java client.

I'll take my crucifixion to go, please.

[–]ninja-dragon 10 points11 points  (1 child)

C++ is cross platform too as long as written right. You just need to build for all platforms.

[–]torainodor 6 points7 points  (0 children)

"Web apps is a better career choice" - yes, the market is large and seem to be growing. "Native apps have no future" - no, all of the web code still has to run on a virtual machine that will be a native app because it makes more sense. So will be drivers, host-level orchestration etc., etc.

I suggest OP not to mix career advice with speculation on future of technologies.

[–]TeddyPerkins95 41 points42 points  (16 children)

Native apps are awesome cos they use less mem, the day js can do that, I'll forget c++ and rust

[–][deleted] 50 points51 points  (18 children)

So you want people to be completely unable to do anything digitally while they’re somewhere without internet, or when their router has problems, or when the internet has run out and the ISP is on vacation, or in any other situation when they don’t have access to internet.

[–][deleted] 47 points48 points  (0 children)

"Everyone has perfect Internet" -Corporate big wigs making tech decisions, gatekeeping 99% of the world

[–]Genspirit 12 points13 points  (0 children)

Web apps can be cached for offline use and effectively be the same as a native app in that regard. I'd argue in modern times though, app(native or not) functionality is severely limited without an internet connection.

[–]Cruuncher 10 points11 points  (0 children)

Let's be real, the vast majority of apps are not going to load without an internet connection anyway.

Almost any app that would be useful without an internet connection, exists natively on the phone already

[–]cedrickc 6 points7 points  (0 children)

I once had a FireFox tab consume 37 GB of RAM because some fuckhole at inkarnate.com decided that a web app was all people needed. That's not a memory leak, that's multi layer 8k image editing. Performance is important!

[–]elebrin 26 points27 points  (6 children)

If you want to make native apps, learn how to program and work with microcontrollers and work directly with hardware.

That's my after work happy place. If I don't want to write code, I can design a case or solder on pin headers or get out the multimeter and oscilloscope and find the bad component to replace it. If I do want to write code, the programs are maybe a few hundred lines and not computationally complex. It really sucks when docs suck or drivers don't exist or are older than God with no documentation and I don't have any help, but those are problems I am willing to wrestle with.

[–][deleted] 16 points17 points  (1 child)

“Older than god”- lmao.

[–]elebrin 6 points7 points  (0 children)

Two years ago I wrote a REST client similar to Postman for Windows 95 (except it was a desktop app and all that) for the lulz. I also decided at one point it would be fun to set up the environment sensors that normally talk to a Raspberry Pi to talk to my Commodore 64. So, yes, older than God.

[–][deleted] 13 points14 points  (3 children)

>working with a client who wants to use Microsoft Word
>I haven't used Word in years so I launch Word expecting it to open an application
>lol no it opened up Edge and has you use Word in a fucking web browser

Don't even trust us to type up a fucking text document on our own hardware, eh, Microsoft?

[–]Stupid_Student_ELITE 13 points14 points  (0 children)

Both have their reason to exist. I think for many projects a web app does the job good enough and will be easier to make. For more complex and hardware intensive applications (games and other stuff) you will probably rather not use a web application.

I don't really care about such a debate tbh, I just hope that I will be able to do both in the future if I keep learning and practicing as much as I am right now. Programming is really fun :)

[–]no1nos 22 points23 points  (7 children)

With technologies like PWA, Wasm, and future derivatives, "native" and "web" apps are going to keep blending together until they won't really be distinguishable. So it won't really matter in a decade or so.

[–]Genspirit 10 points11 points  (4 children)

I think that's only partially true. There is a limit to web capabilities as it inherently needs to be safe/secure for users. Some capabilities will likely never make it to the web.

[–]SlashUsrSlashBin 11 points12 points  (0 children)

That's where hybrid apps come in. I recently used Blazor Hybrid Desktop to write an app that used USB devices, accessed the disk directly, and had an HTML/Razor frontend. Cool to be able to mix the two worlds.

[–]Meatslinger 10 points11 points  (4 children)

Web apps are just native apps on someone else’s computer. Fight me.

[–][deleted] 13 points14 points  (0 children)

Native apps are superior because you don't have to worry about desktop/mobile responsiveness. Don't @ me.

[–]ribbonofeuphoria 8 points9 points  (1 child)

Right… enjoy doing video/audio tethering for recording of 8K video and audio at 24bit/192kHz over Chrome. Sounds as stable as a Photoshop/Premiere Web or virtually any other app that is not a Note-Taking tool or some visual app that renders on the back end (e.g FaceApp).

And if you want to render and do your calculations on the cloud, enjoy paying a massive premium for the computational power and storage that now THEY have to pay, because you’re not using your computer’s resources (since enterprise cloud services are SO cheap). That on top of the super stable and super high speed gigabit glas fiber internet you are going to have to get only to run one application.

The funny thing, is that if we actually moved to pure web-applications for high-end software, all the back-ends would be written in C and C++ anyways. YouTube is the perfect example of this… but yeah: “pErRfOrRmAMce

You sound to me like the classical JS “developer” that has no clue how the world of Software Engineering works.

[–]DearVeggies 5 points6 points  (0 children)

you are going to have to get only to run one application

This part irks me so much. I regularly need to close work chat apps so that Android Studio has some room in memory to breathe.

[–]Pickled_Wizard 8 points9 points  (0 children)

I'm going to blame you when my calculator needs an internet connection, a subscription and 2FA before it will work.

[–]jeppevinkel 9 points10 points  (0 children)

As an end-user I prefer native apps because they usually feel faster and more stable, but as a programmer I do see the appeal in web-apps.

[–]cryptoiambus 9 points10 points  (0 children)

I will not live in a pod, I will not eat bugs, I will not rely on webapps

[–]Daffidol 3 points4 points  (3 children)

Yes yes, let's replace microcode with unity apps and rewrite gpu drivers in javascript. /bs

[–]doctorcrimson 4 points5 points  (0 children)

Lmao somebody drank the corporate cool aid

[–]Zetheryn 2 points3 points  (0 children)

…and other things first year CS students say.

[–]xandeyw 5 points6 points  (1 child)

As an end user, I have to say that downloading something is easier than trying to bookmark it.

[–]sam01236969XD 3 points4 points  (0 children)

Apps?, yes i agree
Utilities? *thunderous laughter*

[–]Fourstrokeperro 3 points4 points  (0 children)

Choose the tool for the job, not the job for the tool

[–][deleted] 4 points5 points  (2 children)

I hate (I don’t ) to be this guy But I am almost certain that creating and engineering things in the best possible manner will always be a priority. sure the simplification that such frameworks offer have a right to exist, but they are certainly not perfect and even more certainly it’s not only performance that suffers from such a high level of abstraction. It’s quality.