Overwegingen Backend taal/framework keuze

Pagina: 1
Acties:

Vraag


Acties:
  • +1 Henk 'm!

  • Un93m59
  • Registratie: Juli 2016
  • Laatst online: 18:55
Hey Hallo allemaal!

Ik ben momenteel een onervaren software student en er zit me iets dwars waar ik zelf geen antwoord op heb.
Op het moment dat je een keuze maken om je backend in te richten qua technologie keuze, hoe bepaal je dat?

Ik heb zelf op school de .NET(C#) stack en Spring (Java) gehad.

Buiten dat de taal anders is qua syntax en dat sommige talen enkel op OS X of Y draait. Lijkt het mij dat de algemeen werking qua backend functionaliteit tussen deze twee vergelijkbaar zijn (ORM, API, architectuur, libraries die helpen met functionaliteit X of Y)

Daarnaast zijn er ook nog andere backend keuze's als bijvoorbeeld Node.JS, Django etc.

Mijn vraag is dus: Voor mijn gevoel liggen veel backend technologieën behoorlijk dicht bij elkaar? klopt dit? en zoja/zonee wanneer zou je iets kunnen kiezen voor situatie X of Y?

Disclaimer Ik heb tot nu toe enkel full stack mini websites gemaakt, dus het kan zijn dat ik een domme vraag stel of onwetend ben

Beste antwoord (via Un93m59 op 10-12-2020 11:54)


  • Flapmo
  • Registratie: April 2000
  • Laatst online: 20:52

Flapmo

and back is gigi!

In de meeste gevallen is de keuze gerelateerd aan de competencies van het bedrijf. Meestal zijn er geen extreme eisen die bepaalde talen of frameworks vereisen. Dat gezegd hebbende, in extreme gevallen kan een keus wel degelijk afhangen van het product dat gemaakt moet worden. Een unmanaged taal omdat memory beheer volledig gecontroleerd moet worden, een taal X over Y omdat extreme schaalbaarheid nodig is zonder daarmee de kosten extreem te maken, etc. Wat betreft Java en C#, beide populair bij een legio bedrijven (zeker indien Java Spring en .NET core tegenwoordig). Beide prima talen. Java krijgt wat commentaar op zijn footprint en traagheid, al is dit tegenwoordig niet zo heel erg meer. Met Java Spring wel direct hele Netflix OSS stack zo'n beetje ingebakken. De .NET stack is sinds de move naar .NET Core en binnenkort .NET5 (of 6 voor LTS) weer hernieuwd populair (al was het daarvoor ook al populair). Microsoft heeft zich goed herpakt.

Wbt hierboven. Als je een vulnerable versie pakt van welke taal dan ook, of beter gezegd library/framework in die taal, krijg je dat voor elkaar. Daarom moet je zorgen dat je op de hoogte blijft van de kwetsbaarheden die gerapporteerd zijn en tijdig updaten waar nodig. Als ik de post goed lees doelt @DJMaze daar ook op. Kwaliteit code > taal, bij topkwaliteit code kan taal de doorslag geven.

[ Voor 22% gewijzigd door Flapmo op 28-11-2020 20:17 ]

"The purpose of computing is insight, not numbers." -- Richard Hamming

Alle reacties


  • hellfighter87
  • Registratie: Mei 2008
  • Laatst online: 21:14
Over het algemeen liggen alle programmeer talen vrij dicht bij mekaar, en is de keuze voor de ene backend taal boven de andere vaak een business beslissing.

Bijv:
Er is al ervaring binnen een bepaald ecosysteem, en het huidige ecosysteem is compatible met de huidige opdracht.

Acties:
  • +1 Henk 'm!

  • dev10
  • Registratie: April 2005
  • Laatst online: 02-10 09:47
Op het moment dat je een keuze maken om je backend in te richten qua technologie keuze, hoe bepaal je dat?
Het antwoord hierop is vrij simpel: dit heeft voor een groot gedeelte te maken met waar jij en je team bekend mee zijn. Als jij een opdracht krijgt om een webapplicatie te maken, maakt het niet zo veel uit of je dat in .NET, Spring, Symfony of Django doet. Het framework en de bijbehorende programmeertaal zijn een middel en geen doel.

Als jij kiest voor .NET omdat je daar goed mee overweg kunt en de opgeleverde applicatie is wat de opdrachtgever vraagt is dat gewoon een goede keuze geweest. Dan kan het zijn dat sommige dingen in andere frameworks makkelijker zijn of handiger kunnen, maar als jij daar niet bekend mee bent kan het juist negatief uitvallen omdat je meer tijd kwijt bent met andere zaken.

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
De programmeertaal wordt misschien pas een ding zodra het traag/unresponsive wordt.
Je moet namelijk dan eerst kijken naar de kwaliteit van je code en framework.

Zo heb ik laatst heel makkelijk een website offline gekregen omdat het ontwikkelteam een oud Zend framework had gekozen omdat zij daar bekend mee zijn.

Lees ook eens over het falen van de london stock exchange omdat men Windows .NET aanrade en dit helemaal niet aan kon.

En jij krijgt misschien pas over 10-20 jaar hier mee te maken om een keuze te maken.

Voor nu zou ik je er daarom niet druk om maken en lekker ontwikkelen in de taal die jij leuk vindt.
De rest komt later wel.

Maak je niet druk, dat doet de compressor maar


Acties:
  • +7 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
DJMaze schreef op donderdag 26 november 2020 @ 13:49:
Zo heb ik laatst heel makkelijk een website offline gekregen omdat het ontwikkelteam een oud Zend framework had gekozen omdat zij daar bekend mee zijn.
Wat. Een. Kul. Hoeveel had dat specifiek met een oud Zend framework te maken en hoeveel met niet goed gebouwde/onderhouden software?
DJMaze schreef op donderdag 26 november 2020 @ 13:49:
Lees ook eens over het falen van de london stock exchange omdat men Windows .NET aanrade en dit helemaal niet aan kon.
Wederom: Wat. Een. Kul. Dat heeft geen reet met .Net te maken (en anno 2020 al helemaal niet meer) maar gewoon met de verkeerde keuzes over de hele linie (en de kwaliteit van de software is ook zeer waarschijnlijk in diezelfde linie geweest). Er draaien zat grote jongens op .Net , waaronder zelfs Bing zelf. Dat de LSE hun zooi heeft ingeruild voor non-MS zaken betekent alleen dat ze een werkend alternatief in die richting vonden dat (voor hun) wel werkte / pastte / betaalbaar was / ... <insert_redenen> , niet dat .Net niet geschikt zou zijn.

[ Voor 13% gewijzigd door RobIII op 26-11-2020 14:51 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Flapmo
  • Registratie: April 2000
  • Laatst online: 20:52

Flapmo

and back is gigi!

In de meeste gevallen is de keuze gerelateerd aan de competencies van het bedrijf. Meestal zijn er geen extreme eisen die bepaalde talen of frameworks vereisen. Dat gezegd hebbende, in extreme gevallen kan een keus wel degelijk afhangen van het product dat gemaakt moet worden. Een unmanaged taal omdat memory beheer volledig gecontroleerd moet worden, een taal X over Y omdat extreme schaalbaarheid nodig is zonder daarmee de kosten extreem te maken, etc. Wat betreft Java en C#, beide populair bij een legio bedrijven (zeker indien Java Spring en .NET core tegenwoordig). Beide prima talen. Java krijgt wat commentaar op zijn footprint en traagheid, al is dit tegenwoordig niet zo heel erg meer. Met Java Spring wel direct hele Netflix OSS stack zo'n beetje ingebakken. De .NET stack is sinds de move naar .NET Core en binnenkort .NET5 (of 6 voor LTS) weer hernieuwd populair (al was het daarvoor ook al populair). Microsoft heeft zich goed herpakt.

Wbt hierboven. Als je een vulnerable versie pakt van welke taal dan ook, of beter gezegd library/framework in die taal, krijg je dat voor elkaar. Daarom moet je zorgen dat je op de hoogte blijft van de kwetsbaarheden die gerapporteerd zijn en tijdig updaten waar nodig. Als ik de post goed lees doelt @DJMaze daar ook op. Kwaliteit code > taal, bij topkwaliteit code kan taal de doorslag geven.

[ Voor 22% gewijzigd door Flapmo op 28-11-2020 20:17 ]

"The purpose of computing is insight, not numbers." -- Richard Hamming


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Flapmo schreef op zaterdag 28 november 2020 @ 20:08:
Als ik de post goed lees doelt @DJMaze daar ook op. Kwaliteit code > taal, bij topkwaliteit code kan taal de doorslag geven.
Inderdaad. Anders maakt het eigenlijk niet uit waarin je iets ontwikkelt.
Ik gebruik Delphi, C, C++, C#, PHP, JavaScript, Swift, Java, Python, Lua, etc. etc. etc. en het is maar net wat de klant wil en de specifieke eisen waardoor ik iets sneller in taal A of B kan.
Een ander kiest B of C omdat diegene dat makkelijker/sneller kan.

Ik werk op Linux en OSX omdat mijn productiviteit dan veel hoger is dan op Windows OS. Bij een ander is dat vast anders.

Als je diep in de materie zit, zie je inderdaad wat beter past bij een bepaald project.

Maak je niet druk, dat doet de compressor maar


Acties:
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Kijk gewoon eens op indeed.nl enzo waar de meeste vraag naar is. Dat zou ik ook meenemen in je overweging.

In het begin van je carriere is switchen geen issue. Verderop wordt het lastiger, in ieder geval als je ook weer een senior rol wil.

[ Voor 39% gewijzigd door Hydra op 28-11-2020 23:22 ]

https://niels.nu


Acties:
  • +3 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Flapmo schreef op zaterdag 28 november 2020 @ 20:08:
Java krijgt wat commentaar op zijn footprint en traagheid, al is dit tegenwoordig niet zo heel erg meer.
Java is verre van traag. "Niet zo erg meer" is nogal een understatement. Alleen een aantal ahead of time compiled talen met handmatig memory management (denk aan C, C++, Rust) zijn sneller.

Beetje een pet peeve dat mensen dat nog steeds roepen.

https://niels.nu


Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
DJMaze schreef op zaterdag 28 november 2020 @ 20:56:
Ik gebruik Delphi, C, C++, C#, PHP, JavaScript, Swift, Java, Python, Lua, etc. etc. etc. en het is maar net wat de klant wil en de specifieke eisen waardoor ik iets sneller in taal A of B kan.
Tja. Ik zoek m'n klanten uit op waar ik goed in ben. Liever een specialist dan een generalist. Helemaal als ZZPer is gewoon diep in 1 stack zitten beter voor je marketability dan alles een beetje kunnen. Het ecosysteem gaat wel een stuk verder dan alleen een taal.

https://niels.nu


Acties:
  • +1 Henk 'm!

  • armageddon_2k1
  • Registratie: September 2001
  • Laatst online: 27-07 10:18
Hydra schreef op zaterdag 28 november 2020 @ 23:19:
[...]


Java is verre van traag. "Niet zo erg meer" is nogal een understatement. Alleen een aantal ahead of time compiled talen met handmatig memory management (denk aan C, C++, Rust) zijn sneller.

Beetje een pet peeve dat mensen dat nog steeds roepen.
Respect dat jij consequent de energie op kan brengen om hier elke keer weer op inte moeten gaan.

Engineering is like Tetris. Succes disappears and errors accumulate.


Acties:
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
armageddon_2k1 schreef op zondag 29 november 2020 @ 08:22:
Respect dat jij consequent de energie op kan brengen om hier elke keer weer op inte moeten gaan.
Ik doe het ook alleen als ik iemand met die onzin een 'junior' zie beinvloeden.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Hydra schreef op zaterdag 28 november 2020 @ 23:21:
Tja. Ik zoek m'n klanten uit op waar ik goed in ben. Liever een specialist dan een generalist. Helemaal als ZZPer is gewoon diep in 1 stack zitten beter voor je marketability dan alles een beetje kunnen. Het ecosysteem gaat wel een stuk verder dan alleen een taal.
Natuurlijk. Als ZZP'er heb ik wel te maken met ontwikkelaars van systemen waar ik mee moet babbelen. Het is dan verdraait handig als je kan spreken in andere talen.
Je hoeft niet alles te weten.

PHP is geschreven in... Dan ga je al ;)

[ Voor 3% gewijzigd door DJMaze op 29-11-2020 21:02 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • +1 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 14:17
DJMaze schreef op zondag 29 november 2020 @ 21:00:
[...]

Natuurlijk. Als ZZP'er heb ik wel te maken met ontwikkelaars van systemen waar ik mee moet babbelen. Het is dan verdraait handig als je kan spreken in andere talen.
Je hoeft niet alles te weten.

PHP is geschreven in... Dan ga je al ;)
Het is niet alsof de gemiddelde programmeertaal z'n syntax nou echt rocket science is... Ik kreeg laatst een stuk webdev binnen, nog nooit mee gewerkt maar binnen een paar minuten de flow van het programma begrepen en eruit kunnen halen wat ik nodig had om de logica na te bouwen op ons platform.

Naar mijn mening is logisch nadenken het belangrijkst, niet "zoveel mogelijk talen kennen". Specialiseer je in één of twee talen en probeer geen oogkleppen op te hebben voor de zwaktes en sterktes. Oh en gooi vooral geen generalisaties rond; je kan alles wel met elke taal voor elkaar krijgen, maar efficiënt werken draait vooral om wat je team goed kan en waar voor de taak de beste libraries/frameworks/plugins/whatevers voor zijn.

Acties:
  • 0 Henk 'm!

  • Flapmo
  • Registratie: April 2000
  • Laatst online: 20:52

Flapmo

and back is gigi!

Hydra schreef op zondag 29 november 2020 @ 10:28:
[...]


Ik doe het ook alleen als ik iemand met die onzin een 'junior' zie beinvloeden.
Als je Go en misschien .NETCore/.NET5 (tegenwoordig) daar nog bij zet dan zit je wel ongeveer goed ja. Het is relatief natuurlijk, ik wilde er niet mee zeggen dat Java traag is maar het is mbt cpu en memory gewoon niet de taal die consistent in de onderste categorien valt. Dat is in 99/100 gevallen geen enkel probleem.

Er is geen goede of slechte keuze zonder te weten waarvoor het nodig is. In het algemeen zou ik zeggen met Java/.NETCore/NodeJS zit je altijd goed voor een legio doeleinden. Specifieke problemen kunnen je leiden naar andere talen maar daar zou ik in investeren wanneer je weet waarom je ze nodig hebt (of wanneer je een carrière in dat gebied ambieert).

[ Voor 25% gewijzigd door Flapmo op 03-12-2020 07:31 ]

"The purpose of computing is insight, not numbers." -- Richard Hamming

Pagina: 1