De Devschuur Coffee Corner - Iteratie ⑬ Vorige deel Overzicht

Pagina: 1 ... 38 ... 48 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Hoe noemen we scripts geschreven in Java? :+

Acties:
  • +2 Henk 'm!

  • Kriekel
  • Registratie: Maart 2017
  • Laatst online: 22:10
ThomasG schreef op woensdag 8 mei 2024 @ 10:37:
Hoe noemen we scripts geschreven in Java? :+
Hoofdpijn

Acties:
  • 0 Henk 'm!

  • wackmaniac
  • Registratie: Februari 2004
  • Laatst online: 11-09 10:21
ThomasG schreef op woensdag 8 mei 2024 @ 10:37:
Hoe noemen we scripts geschreven in Java? :+
Was dat niet Java Web Start? Dat je als website min or meer automagisch een Java-applicatie kon laten starten?

Read the code, write the code, be the code!


Acties:
  • 0 Henk 'm!

  • Toren
  • Registratie: April 2024
  • Laatst online: 05-06-2024
"applets"

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Een applet zijn (kleine) applicaties. Het zouden dan eerder scriptlets zijn, maar die zijn eigenlijk weer JSP(X) specifiek.

Acties:
  • 0 Henk 'm!

  • DevWouter
  • Registratie: Februari 2016
  • Laatst online: 17:33

DevWouter

Creator of Todo2d.com

ThomasG schreef op woensdag 8 mei 2024 @ 12:44:
[...]
Een applet zijn (kleine) applicaties. Het zouden dan eerder scriptlets zijn, maar die zijn eigenlijk weer JSP(X) specifiek.
Waar komt eigenlijk die term vandaan? Ik bedoel, ik ken de term en de historie. Maar ik weet de etymologie van het woord niet.
App => Applicatie
Let => ???

"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel


Acties:
  • +1 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 23:48

Acties:
  • +1 Henk 'm!

  • DevWouter
  • Registratie: Februari 2016
  • Laatst online: 17:33

DevWouter

Creator of Todo2d.com

Ah... Een verklein woord. Dat had ik moeten weten.

Bedankt!

"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 21:19
ThomasG schreef op woensdag 8 mei 2024 @ 10:37:
Hoe noemen we scripts geschreven in Java? :+
Nashorn heette dat. :P

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • +4 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Good job, UWV. Good job. |:(

Afbeeldingslocatie: https://tweakers.net/i/w7Adm_SUMJUxY7-jaDI1OyJ22lY=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/Nf8A1oS2CCYDAaFyqlWgfB2i.png?f=user_large

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 18:40
Zee plus plus.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ik wou zeggen maak er C%2B%2B van ofzo, maar dat mag natuurlijk ook niet vanwege de % :+ "Cplusplus" it is then :P

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:
  • +1 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

De bochten waarin een man zich moet wringen voor een overheid-betaalde sabbatical :Y)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Merethil
  • Registratie: December 2008
  • Laatst online: 18:40
RobIII schreef op maandag 13 mei 2024 @ 15:09:
[...]

Ik wou zeggen maak er C%2B%2B van ofzo, maar dat mag natuurlijk ook niet vanwege de % :+ "Cplusplus" it is then :P
Je zou maar Chekje doen. Wie weet lezen ze dat dan weer verkeerd :+

Acties:
  • +2 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 21:19
De Amerikaanse overheid had laatst ook al besloten dat C++ niet veilig was. Kennelijk is het UWV ook tot die conclusie gekomen.

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ook leuk hoe enters en paragrafen gewoon genegeerd worden. Typ je een beetje een duidelijk stukje, wordt het sowieso een onleesbare brij |:(

Nou ja, op zich niet |:(, ik zoek even helemaal geen werk :+

[ Voor 18% gewijzigd door .oisyn op 13-05-2024 16:46 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Mugwump schreef op maandag 13 mei 2024 @ 15:40:
De Amerikaanse overheid had laatst ook al besloten dat C++ niet veilig was.
Maar is die hele conclusie niet overdreven? Smart pointers nemen toch een heel stuk van de complexiteit van memory management weg? Of in bredere zin RAII?

Tuurlijk helpt de borrow checker van Rust om veilige code te schrijven, maar tegelijkertijd maakt het lifetime management ook lastiger.

Na bijna 20 jaar C# / .NET gedaan te hebben, ben ik mij weer aan het inlezen voor een hobby project... en eerlijk gezegd, neig ik er heel eigenwijs naar om C++ te gaan doen in plaats van Rust. In ieder geval voor the time being. Nu kan dat geen kwaad, want de problemen die Rust probeert op te lossen zijn vooral C/C++ problemen... kortom, door C++ (opnieuw) te leren, begrijp ik misschien ook beter wat Rust probeert te doen.

Aan de andere kant heeft C++ al die jaren niet stil gestaan. Tuurlijk kun je er een enorme teringzooi van maken, maar het lijkt ook niet heel moeilijk te zijn om nette code te produceren die enigszins veilig is.

TLDR Ik kijk een beetje argwanend naar "the Rust cult / hype".

Ik heb overigens zowel de C++ Primer Plus als The Rust Programming Language op mijn bureau liggen hier. Ik sluit niet uit dat ik iets met Rust ga doen. Maar misschien omdat ik C++ op de hogeschool heb gehad en er ooit ook een paar projecten in heb gedaan (weliswaar 20 jaar geleden), voelt het alsof ik daar veel sneller productief mee zal zijn dan met Rust. En de doelstelling "ik wil iets dat efficiënter dan .NET is gebruiken" haal ik er makkelijk mee.

Ask yourself if you are happy and then you cease to be.


Acties:
  • +1 Henk 'm!

  • DevWouter
  • Registratie: Februari 2016
  • Laatst online: 17:33

DevWouter

Creator of Todo2d.com

Lethalis schreef op maandag 13 mei 2024 @ 17:09:
[...]

Maar is die hele conclusie niet overdreven? Smart pointers nemen toch een heel stuk van de complexiteit van memory management weg? Of in bredere zin RAII?

Tuurlijk helpt de borrow checker van Rust om veilige code te schrijven, maar tegelijkertijd maakt het lifetime management ook lastiger.

Na bijna 20 jaar C# / .NET gedaan te hebben, ben ik mij weer aan het inlezen voor een hobby project... en eerlijk gezegd, neig ik er heel eigenwijs naar om C++ te gaan doen in plaats van Rust. In ieder geval voor the time being. Nu kan dat geen kwaad, want de problemen die Rust probeert op te lossen zijn vooral C/C++ problemen... kortom, door C++ (opnieuw) te leren, begrijp ik misschien ook beter wat Rust probeert te doen.

Aan de andere kant heeft C++ al die jaren niet stil gestaan. Tuurlijk kun je er een enorme teringzooi van maken, maar het lijkt ook niet heel moeilijk te zijn om nette code te produceren die enigszins veilig is.

TLDR Ik kijk een beetje argwanend naar "the Rust cult / hype".

Ik heb overigens zowel de C++ Primer Plus als The Rust Programming Language op mijn bureau liggen hier. Ik sluit niet uit dat ik iets met Rust ga doen. Maar misschien omdat ik C++ op de hogeschool heb gehad en er ooit ook een paar projecten in heb gedaan (weliswaar 20 jaar geleden), voelt het alsof ik daar veel sneller productief mee zal zijn dan met Rust. En de doelstelling "ik wil iets dat efficiënter dan .NET is gebruiken" haal ik er makkelijk mee.
:Y

Het probleem is dat de meeste mensen niet langer meer begrijpen hoe geheugen werkt. Zo heb ik tegenwoordig een standaard demonstratie van een onschuldige memory leak in javascript.

Wat dat betreft hanteer ik nog steeds de regel die ik in mijn C++ dagen heb geleerd: Voordat je een new schrijf zorg je eerst dat er een delete aanwezig is.
En die regel heeft zijn waarde bewezen in C++, JavaScript, C# en SQL (yep, fucking SQL). Rust heeft alleen die regel wat formeler gemaakt.

"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel


Acties:
  • +1 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

@DevWouter Eigenlijk is het idee dat je in moderne C++ sowieso geen delete meer schrijft. Als je memory ownt, dan zit dat in een unique_ptr. Of een shared_ptr als de ownership gedeeld wordt.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
.oisyn schreef op maandag 13 mei 2024 @ 18:35:
@DevWouter Eigenlijk is het idee dat je in moderne C++ sowieso geen delete meer schrijft. Als je memory ownt, dan zit dat in een unique_ptr. Of een shared_ptr als de ownership gedeeld wordt.
Yep, dat is het idee van RAII :)

https://www.stroustrup.com/bs_faq2.html#memory-leaks

https://en.cppreference.com/w/cpp/language/raii

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
DevWouter schreef op maandag 13 mei 2024 @ 17:36:
[...]
Wat dat betreft hanteer ik nog steeds de regel die ik in mijn C++ dagen heb geleerd: Voordat je een new schrijf zorg je eerst dat er een delete aanwezig is.
Het gevaar van delete aanroepen is dat een exception roet in het eten kan gooien. Terwijl als je een smart pointer of andere RAII container gebruikt, automatisch de resource wordt opgeruimd, zodra de boel out of scope gaat.

Ask yourself if you are happy and then you cease to be.


Acties:
  • +1 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Lethalis schreef op maandag 13 mei 2024 @ 19:42:
[...]

Het gevaar van delete aanroepen is dat een exception roet in het eten kan gooien. Terwijl als je een smart pointer of andere RAII container gebruikt, automatisch de resource wordt opgeruimd, zodra de boel out of scope gaat.
Niet eens alleen exceptions en fouthandeling. Wat als je een pointer doorgeeft. Als je zorgt dat hij uniek blijft is het nog wel te doen, al heb je een grote kans op fouten. Maar als het een shared pointer wordt, wie is er dan verantwoordelijk voor het opschonen? Als je ook maar een beetje complexe code hebt is de kans op memory-leaks en/of dangling pointers vrij groot.

Acties:
  • +1 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 21:19
Lethalis schreef op maandag 13 mei 2024 @ 17:09:
[...]

TLDR Ik kijk een beetje argwanend naar "the Rust cult / hype".
Ik vind dit altijd wel een treffende parodie:
YouTube: Interview with Senior Rust Developer in 2023

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
"We really hate repetitions in Rust"

....

"unwrap()"
"unwrap()"
"unwrap()"

Ik kom niet meer bij _O-

PS
Mijn voorkeur voor C++ heeft denk ik ook te maken met dat ik OOP fijn vind. Ik ben niet anti OOP en hoewel ik functional programming wel interessant vind, hou ik er ook niet van als het mij opgedrongen wordt.

In C# gebruik ik LINQ bijvoorbeeld waar ik het handig vind, maar lang niet altijd. Soms is procedurele code gewoon veel makkelijker te begrijpen of iig te maken als je graag iets af wil maken.

Ik ben ook niet anti exceptions. Zolang je exceptions echt voor fouten gebruikt, komen ze als het goed is ook niet vaak voor... dus is de performance impact ook minimaal. Het enige nadeel is het onderbreken van de control flow, d.w.z. je kan niet altijd direct zien wat er in een stuk code kán gebeuren. In talen als Go en Rust moet je bewust met errors omgaan in de code, maar dat maakt het niet per se cleaner.

Misschien veiliger, maar niet cleaner. Exceptions geven je de mogelijkheid om een cleane "happy path" te programmeren.

De code staat niet vol met "if err != nil" zoals in Go of zoals in Rust met pattern matching voor elke enumeration, of erger met unwrap calls voor de lazy Rust dev.

[ Voor 58% gewijzigd door Lethalis op 13-05-2024 21:31 ]

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:43
DevWouter schreef op maandag 13 mei 2024 @ 17:36:
[...]
Het probleem is dat de meeste mensen niet langer meer begrijpen hoe geheugen werkt.
De manieren waarop C++ je kan vertellen op je smoel beukt wanneer je C++ dacht te begrijpen zijn schier eindeloos, ook al ben je gepromoveerd op smart pointers. Waarbij je trouwens sowieso f*cked bent als je met C libraries moet integreren want tja...dat kan zo lekker makkelijk.

Ik vind het een bijzondere taal en verdien er m'n geld mee, maar eerlijk gezegd zie ik niet in waarom je tegenwoordig C++ zou kiezen als het voor je platform/toepassing niet vereist is.

Alleen al de regels voor strict aliasing zijn niet te bevatten voor mere mortals. UB. Er is geen standaard package manager. Of code style. Of naming convention. Templates. En die vastgeroeste C++ peeps. Die C met classes programmeren. En moet het een * zijn of een &. En const, of consexpr. Of consteval. constexpr const char* const? En WTF is constinit dan? Templates. iostreams, hahahahahmpfff. snprintf, in C++11. Dus toch maar std::format. In C++20 al! Wat vrijwel nergens wordt gebruikt want C++11 is eigenlijk al zo nieuw en onbekend.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • DevWouter
  • Registratie: Februari 2016
  • Laatst online: 17:33

DevWouter

Creator of Todo2d.com

ThomasG schreef op maandag 13 mei 2024 @ 20:04:
[...]
Niet eens alleen exceptions en fouthandeling. Wat als je een pointer doorgeeft. Als je zorgt dat hij uniek blijft is het nog wel te doen, al heb je een grote kans op fouten. Maar als het een shared pointer wordt, wie is er dan verantwoordelijk voor het opschonen? Als je ook maar een beetje complexe code hebt is de kans op memory-leaks en/of dangling pointers vrij groot.
Als exceptions in de codebase gemeen goed is dan is er iets uitzonderlijks aan de hand met de code. ;)

En shared pointer gebruik je alleen wanneer er onduidelijkheid is over de levensduur van het object.

"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel


Acties:
  • 0 Henk 'm!

  • DevWouter
  • Registratie: Februari 2016
  • Laatst online: 17:33

DevWouter

Creator of Todo2d.com

farlane schreef op maandag 13 mei 2024 @ 22:51:
[...]

De manieren waarop C++ je kan vertellen op je smoel beukt wanneer je C++ dacht te begrijpen zijn schier eindeloos, ook al ben je gepromoveerd op smart pointers. Waarbij je trouwens sowieso f*cked bent als je met C libraries moet integreren want tja...dat kan zo lekker makkelijk.

Ik vind het een bijzondere taal en verdien er m'n geld mee, maar eerlijk gezegd zie ik niet in waarom je tegenwoordig C++ zou kiezen als het voor je platform/toepassing niet vereist is.
Ik had ooit een applicatie vol met shared pointers en die "beukte" inderdaad eindeloos op mijn smoel. Uiteindelijk het hele component herschreven zonder "smart pointers" en het was niet alleen veiliger, maar ook sneller. En het geheugen gebruik was ook gehalveerd. Bleek iets met memory fragmentation te maken.

Wat dat betreft vind ik het jammer dat als dotnet ontwikkelaar ik dat niet zo vaak meer mee maak (en hele enkeling keer nog wel eens).

"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel


Acties:
  • 0 Henk 'm!

  • DevWouter
  • Registratie: Februari 2016
  • Laatst online: 17:33

DevWouter

Creator of Todo2d.com

Dat is een technologisch oplossing, mijn oplossing zat in een aanpassing van mijn gedrag. Gewoon letterlijk altijd eerst delete schrijven en dan pas de new.
Overigens kan je beide combineren.

"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel


Acties:
  • +1 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Lethalis schreef op maandag 13 mei 2024 @ 17:09:
Aan de andere kant heeft C++ al die jaren niet stil gestaan. Tuurlijk kun je er een enorme teringzooi van maken, maar het lijkt ook niet heel moeilijk te zijn om nette code te produceren die enigszins veilig is.
Het gaat natuurlijk ook om de code die al geschreven is. Ik heb in mijn carriere zat code parallel proberen te maken die daarvoor niet was ontworpen. Dat was keer op keer een ramp omdat je gewoon niet weet wie op welk moment welke resources ownt. In Rust is dit een stuk simpeler omdat die ownership van tevoren al goed vastligt. Misschien is een eerste implementatie moeilijker, maar de kans dat het gewoon werkt is wel een stuk groter.

Ook een leuk terugkerend pattern: een lijstje met registreerbare callbacks voor events. Dan triggert zo'n event, dus dan loop je over het lijstje heen om de callbacks aan te roepen. En nu probeert de handler zichzelf te unregisteren van het event. Komt vaak zat voor dat hier niet over wordt nagedacht. Gevolg: je zit dat lijstje aan te passen terwijl er een aantal niveaus boven in de callstack over datzelfde lijstje heen wordt gewandeld. In Rust kan dit gewoon niet, omdat dat lijstje geborrowed wordt om eroverheen te lopen, dus het is in principe onmogelijk dat iemand anders ineens een mutable reference naar datzelfde lijstje heeft.
Lethalis schreef op maandag 13 mei 2024 @ 21:16:
Ik ben ook niet anti exceptions. Zolang je exceptions echt voor fouten gebruikt, komen ze als het goed is ook niet vaak voor... dus is de performance impact ook minimaal. Het enige nadeel is het onderbreken van de control flow, d.w.z. je kan niet altijd direct zien wat er in een stuk code kán gebeuren. In talen als Go en Rust moet je bewust met errors omgaan in de code, maar dat maakt het niet per se cleaner.
Meh, vind ik wel. Ik vind exceptions maar kut. Ja, het is makkelijk om gewoon even een exception te gooien zodat je er verder niet over na hoeft te denken, maar het gevolg is dat de boel bugt omdat je er niet over na hebt gedacht en de stack unwind de boel toch niet zo netjes achterlaat als dat je misschien dacht. Goede exception-safe code schrijven is ook best een kunst, vooral in generieke code.

std::expected is tegenwoordig een ding in C++23, maar het mist nog een belangrijke taalfeature om daar wat handiger mee om te gaan zoals in Rust kan: de ? operator. Overigens ben je ook in Rust niet vrij van exception handling.
of zoals in Rust met pattern matching voor elke enumeration
Dat hoeft toch ook niet? Je hebt dus ?, en ook heel wat monadic operaties op Option en Result (en C++ krijgt er ook steeds meer).



Wat zowel C++ als Rust echt missen is static reflection, en die race lijkt C++ wel te gaan winnen. In Rust is er weerstand, want ja, macros.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
farlane schreef op maandag 13 mei 2024 @ 22:51:
[...]
Ik vind het een bijzondere taal en verdien er m'n geld mee, maar eerlijk gezegd zie ik niet in waarom je tegenwoordig C++ zou kiezen als het voor je platform/toepassing niet vereist is.
Ik verdien mijn geld met C# en .NET, maar wil voor wat hobby projecten eventueel tooltjes maken die:

1. Op low spec hardware kunnen draaien (raspberry pi etc) en dat efficient doen. .NET 8 met native AOT komt in de buurt, maar veel libraries doen het er nog niet op.

2. Kunnen draaien op plekken waar geen .NET framework aanwezig is. Self contained deployment kan dat, maar dan sleur je alsnog een hele hoop MB's aan runtime mee.

Daarnaast vind ik het ook gewoon leuk om eens iets anders te doen dan .NET.

Ik kwam qua talen uit bij Go, Rust en C++. Go zou de verstandige keuze zijn. Ik ben er direct productief mee en het doet wat het moet doen... alleen de fun factor ontbreekt een beetje. Het is net PHP. Je bouwt simpelweg iets en klaar (op zich heel goed!).

Niet lang daarna met Rust gespeeld en uiteindelijk gedacht "ik kan net zo goed C++ gaan doen". En ik vind het "moderne" C++ zo gek nog niet. Daarnaast kan het geen kwaad om C++ te leren. Je weet nooit wanneer het van pas komt, terwijl Go en Rust momenteel nog meer niche is.

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 16-09 09:06

Firesphere

Yoshis before Hoshis

.oisyn schreef op maandag 13 mei 2024 @ 18:35:
@DevWouter Eigenlijk is het idee dat je in moderne C++ sowieso geen delete meer schrijft. Als je memory ownt, dan zit dat in een unique_ptr. Of een shared_ptr als de ownership gedeeld wordt.
Alle gekheid op een stokje...
Wat de FUCK is er met jouw avatar? Mijn hele leven ben jij bonkie de keyboard bonker geweest, en nu heb je kleurtjes? En bonk je niet meer op je keyboard?

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Firesphere schreef op dinsdag 14 mei 2024 @ 07:06:
[...]

En bonk je niet meer op je keyboard?
Verklaart wel de gang naar het UWV.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Firesphere
  • Registratie: September 2010
  • Laatst online: 16-09 09:06

Firesphere

Yoshis before Hoshis

CodeCaster schreef op dinsdag 14 mei 2024 @ 07:19:
[...]

Verklaart wel de gang naar het UWV.
Verwar je nu niet de scheidings-advocaat met het UWV?

I'm not a complete idiot. Some parts are missing.
.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


Acties:
  • +4 Henk 'm!

  • DaFeliX
  • Registratie: December 2002
  • Laatst online: 16-09 12:36

DaFeliX

Tnet Devver
Firesphere schreef op dinsdag 14 mei 2024 @ 07:06:
[...]

Alle gekheid op een stokje...
Wat de FUCK is er met jouw avatar? Mijn hele leven ben jij bonkie de keyboard bonker geweest, en nu heb je kleurtjes? En bonk je niet meer op je keyboard?
Daar heb je dan lekker overheen gelezen :+
Merethil schreef op donderdag 25 januari 2024 @ 07:00:
[...]


Oh nee, je avatar is anders en nu herken ik je niet meer in één oogopslag.... Verandering is stom! :+

Einstein: Mijn vrouw begrijpt me niet


Acties:
  • +1 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
.oisyn schreef op maandag 13 mei 2024 @ 23:40:
[...]

*knip*

Meh, vind ik wel. Ik vind exceptions maar kut. Ja, het is makkelijk om gewoon even een exception te gooien zodat je er verder niet over na hoeft te denken, maar het gevolg is dat de boel bugt omdat je er niet over na hebt gedacht en de stack unwind de boel toch niet zo netjes achterlaat als dat je misschien dacht. Goede exception-safe code schrijven is ook best een kunst, vooral in generieke code.

*knip*
Dit stukje geldt eigenlijk algemener: safe-code schrijven is een kunst. Ik ben vaan genoeg code tegen gekomen die vol zit met subtiele aannames (soms ook door mijzelf geschreven), van: oh, dit zal altijd zo zijn. En in tijdens het ontwikkelen en testen is het ook 99.99% van de tijd zo. Tijdens het (geautomatiseerd) testen kwam het ook niet naar voren. In production werkt ook bijna 100%. Maar dan blijken er toch nog een stuk of wat randgevallen te zijn die niet waren voorzien, maar als je er daarna nog even over nadenkt eigenlijk wel heel logisch zijn en voor de hand liggen. Hindsight is is always 20/20. Maar het heeft ondertussen wel even de boel om zeep geholpen.

Acties:
  • +1 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:43
Lethalis schreef op dinsdag 14 mei 2024 @ 02:39:
[...]
Niet lang daarna met Rust gespeeld en uiteindelijk gedacht "ik kan net zo goed C++ gaan doen". En ik vind het "moderne" C++ zo gek nog niet. Daarnaast kan het geen kwaad om C++ te leren. Je weet nooit wanneer het van pas komt, terwijl Go en Rust momenteel nog meer niche is.
Je moet natuurlijk doen wat je zelf het leukst vindt en blij van wordt en C++ kan dat voor je doen, zeker. Rust is echter in veel opzichten moderner en moeilijker om niet correcte code mee te schrijven. Het nadeel daarvan is dat de BC je continue staat te naggen omdat je code niet correct is. C++ zegt dan gewoon niets, of misschien een warning als je mazzel hebt, Of een foutmelding van 20 pagina's.

Whatever je blij maakt, dat is het belangrijkst. :)

In geen geval zou ik willen suggereren dat Go een goed idee is, voornamelijk omdat ik die kennis niet heb.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
.oisyn schreef op maandag 13 mei 2024 @ 23:40:
[...]
Meh, vind ik wel. Ik vind exceptions maar kut. Ja, het is makkelijk om gewoon even een exception te gooien zodat je er verder niet over na hoeft te denken, maar het gevolg is dat de boel bugt omdat je er niet over na hebt gedacht en de stack unwind de boel toch niet zo netjes achterlaat als dat je misschien dacht. Goede exception-safe code schrijven is ook best een kunst, vooral in generieke code.

std::expected is tegenwoordig een ding in C++23, maar het mist nog een belangrijke taalfeature om daar wat handiger mee om te gaan zoals in Rust kan: de ? operator. Overigens ben je ook in Rust niet vrij van exception handling.
Ik ken de ? operator van Rust nog niet, maar het lijkt ook een unwrap te zijn? Mijn kennis van Rust gaat ook niet veel verder dan dat ik het boek heb doorgelezen en wat dingetjes geprobeerd heb. Ik heb wel gauw kennis gemaakt met de borrow checker.

Dat C++ std::expected heeft / krijgt, is prima. Als ik maar zelf kan kiezen wat ik doe.

In C# kun je ook zelf kiezen of je een Option<T, E> class gebruikt (zoals https://github.com/nlkl/Optional), of met exceptions werkt. Enige nadeel is dan dat veel framework code altijd exceptions gooit, dus dan krijg je ook al gauw Try<T, E> constructies.

Ask yourself if you are happy and then you cease to be.


Acties:
  • +2 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Lethalis schreef op dinsdag 14 mei 2024 @ 11:13:
[...]

Ik ken de ? operator van Rust nog niet, maar het lijkt ook een unwrap te zijn?
Een unwrap panict als een Option None of een Result een Err(x) is. De ? is een conditionele return van die None of Err(x). Je hoeft op die manier niet expliciet de error af te handelen, maar die geef je gewoon door naar boven. Een beetje als exceptions.

Rust:
1
2
3
4
5
6
7
fn add(a: Option<i32>, b: Option<i32>) -> Option<i32> {
    Some(a? + b?)
}

fn main() {
    println!("{:?}", add(Some(34), None)); // "None"
}

[ Voor 5% gewijzigd door .oisyn op 14-05-2024 11:41 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
farlane schreef op dinsdag 14 mei 2024 @ 11:03:
[...]

Je moet natuurlijk doen wat je zelf het leukst vindt en blij van wordt en C++ kan dat voor je doen, zeker. Rust is echter in veel opzichten moderner en moeilijker om niet correcte code mee te schrijven. Het nadeel daarvan is dat de BC je continue staat te naggen omdat je code niet correct is. C++ zegt dan gewoon niets, of misschien een warning als je mazzel hebt, Of een foutmelding van 20 pagina's.

Whatever je blij maakt, dat is het belangrijkst. :)

In geen geval zou ik willen suggereren dat Go een goed idee is, voornamelijk omdat ik die kennis niet heb.
Op dit moment vind ik het gewoon leuk om mij in te lezen in C++ en ermee te spelen. Maar het is verre van statisch, misschien zit ik over 6 maanden alsnog met Rust te klooien _O-

Go is simplistisch, dat is een bewuste keuze van de ontwerpers. Grootste verschil met Rust en C++ is dat het een garbage collector heeft. Er is dus voor gekozen om developer productiviteit voorrang te geven ten koste van wat performance. Maar omdat er verder geen runtime is, valt de performance impact t.o.v. C++ mee. En is het out of the box een stuk efficiënter dan .NET of Java.

Met cgo kun je C libraries gebruiken en de standard library is behoorlijk compleet waardoor je snel bepaalde dingen kunt bouwen. Ik had in een mum van tijd een web api draaien bijvoorbeeld die 7mb reserveerde, waarvan 125kb in gebruik was. Een .NET hello world pakt zo 100mb en gebruikt 15mb.

Maar goed, C++ en Rust geven meer controle omdat je zelf het geheugen beheert en kunnen dus nog efficiënter zijn.

[ Voor 12% gewijzigd door Lethalis op 14-05-2024 19:21 ]

Ask yourself if you are happy and then you cease to be.


Acties:
  • +3 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Afbeeldingslocatie: https://tweakers.net/i/jGyK_1jrJYwg3EpwEky7sTXKmfQ=/800x/filters:strip_icc():strip_exif()/f/image/N0fnOFO8knUQVB0NfZKaCJmC.jpg?f=fotoalbum_large

Thanks man, goed om te weten d:)b

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
farlane schreef op maandag 13 mei 2024 @ 22:51:
[...]
Alleen al de regels voor strict aliasing zijn niet te bevatten voor mere mortals. UB. Er is geen standaard package manager. Of code style. Of naming convention. Templates. En die vastgeroeste C++ peeps. Die C met classes programmeren. En moet het een * zijn of een &. En const, of consexpr. Of consteval. constexpr const char* const? En WTF is constinit dan? Templates. iostreams, hahahahahmpfff. snprintf, in C++11. Dus toch maar std::format. In C++20 al! Wat vrijwel nergens wordt gebruikt want C++11 is eigenlijk al zo nieuw en onbekend.
Nog even als reactie op jouw mini C++ rant. Er staat tegenover dat het heel volwassen is. Qua package managers heb je vcpkg (van Microsoft) en Conan heb ik gelezen (kwam ik toevallig achter omdat ik libgit2 wil gaan gebruiken voor een tooltje en het in hun README.md staat :+ ).

En de rest van jouw verhaal heb je eigenlijk ook bij Java bijvoorbeeld. Er zijn 101 manieren om iets te doen, meerdere package / build managers (Maven, Gradle, etc), veel projecten die niet verder dan Java 8 zijn gekomen, etc.

Maar er staat net zoals bij C++ tegenover dat het volwassen is en je echt voor bijna alles wel een library kunt vinden om te gebruiken.

Bij Rust en Go kom je sneller op dat punt van "he bah, hier is nog niks voor". En dan kun je alsnog C bindings maken of het zelf gaan coden. Tuurlijk, Rust krijgt steeds meer creds... er is zelfs een artikel van het Witte huis in de VS die het voorstelt om veiligere code te schrijven, omdat 70% van alle security issues door memory bugs komen).

Is het momenteel de enige taal die "safe" is zonder garbage collector? Dat lijkt vooral het criterium voor de taal "van de toekomst" te zijn (voor realtime software die iets aanstuurt bijvoorbeeld).

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
farlane schreef op maandag 13 mei 2024 @ 22:51:
[...]
De manieren waarop C++ je kan vertellen op je smoel beukt wanneer je C++ dacht te begrijpen zijn schier eindeloos, ook al ben je gepromoveerd op smart pointers. Waarbij je trouwens sowieso f*cked bent als je met C libraries moet integreren want tja...dat kan zo lekker makkelijk.
Is dat niet vooral een kwestie van een wrapper class maken die in de destructor de juiste functies aanroept van de C library om eventuele resources op te ruimen?

Misschien krijg ik nog spijt zodra ik echt tegen issues aanloop _O- Maar ben gewoon benieuwd.

Ask yourself if you are happy and then you cease to be.


Acties:
  • +5 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik kreeg ooit een mailtje die begon met:
Beste null,
Dan voel je je ook gewaardeerd :+

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Cartman! schreef op woensdag 15 mei 2024 @ 15:07:
[...]
Ik kreeg ooit een mailtje die begon met:
[...]
Dan voel je je ook gewaardeerd :+
Ik heb een paar maanden geleden mijn Chromebook (waarvan ik de firmware heb vervangen en Manjaro op heb geïnstalleerd) "nilbook" genoemd omdat hij matige specs heeft :)

Alsnog draait Linux er wel aardig op (Pentium Silver, 4GB RAM en 64GB storage). Moest wel 6GB swap file aanmaken om de boel werkbaar te houden. Prima om mee te internetten en met vscode dingetjes uit te proberen met Rust, C++, Go, etc.

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Gast, een gemiddelde senseo machine heeft nog meer RAM dan dat. Weet je zeker dat je niet in Het Grote Masochisten topic wilde reageren?

{signature}


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:30
On that subject, ik heb net een nieuwe laptop gekregen van het werk, met 16GB RAM :X En in de oude was een jaar of 2 terug het RAM al vervangen door 32GB....

Erge is ook nog eens dat als ik PHPStan (static analyzer) uitvoer op het project dat die kijkt hoeveel (virtuele) CPUs er zijn (20), en op basis daarvan bepaald hoeveel processen te starten, dat gecombineerd met een groot project betekent dat er 1GB RAM nodig is per process, en die de laptop dus plat gooit (en bv PHPStorm wordt gekilld met een out of memory). Vervolgens via config het aantal processen beperkt tot 10, en nog steeds problemen. Dus intussen beperkt tot 5 processen...

3 weken terug over geklaagd, "herinner me er maar aan na mijn vakantie" (was afgelopen 2 weken). Maandag wel een linkje ontvangen naar een 64GB setje (meteen het maximale dat de laptop aan kan) met de vraag of ik dacht dat dat zou werken. Maar verder niks meer van vernomen.

Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:43
Lethalis schreef op woensdag 15 mei 2024 @ 14:21:
[...]
Nog even als reactie op jouw mini C++ rant. Er staat tegenover dat het heel volwassen is.
Volwassen is niet de goede term voor wat C++ is wat mij betreft. Het is wel (in alle opzichten) ENORM flexibel.
Qua package managers heb je vcpkg (van Microsoft) en Conan heb ik gelezen (kwam ik toevallig achter omdat ik libgit2 wil gaan gebruiken voor een tooltje en het in hun README.md staat :+ ).
Vandaar *standaard* package manager. Die lib die jij zoekt in de toekomst, staat niet in Conan.
En de rest van jouw verhaal heb je eigenlijk ook bij Java bijvoorbeeld.
Euh nee, Java heeft geen UB. Rust ook niet. C en C++....not so much.
Er zijn 101 manieren om iets te doen, meerdere package / build managers (Maven, Gradle, etc),
Oh ja, die was ik nog vergeten, build systems... :o
Maar er staat net zoals bij C++ tegenover dat het volwassen is en je echt voor bijna alles wel een library kunt vinden om te gebruiken.
Veel zijn C libraries eigenlijk.
Is het momenteel de enige taal die "safe" is zonder garbage collector? Dat lijkt vooral het criterium voor de taal "van de toekomst" te zijn (voor realtime software die iets aanstuurt bijvoorbeeld).
Geen idee eigenlijk. Als je echt real time wilt is trouwens niet alle "common" Rust/C++ gewenst aangezien ze beide een heap hebben die niet deterministisch is.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

farlane schreef op woensdag 15 mei 2024 @ 19:36:
Euh nee, Java heeft geen UB. Rust ook niet.
Over Java kan ik geen uitspraken doen, maar Rust heeft weldegelijk UB. Wel komt er een unsafe block aan te pas om het te krijgen.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • +1 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
RobertMe schreef op woensdag 15 mei 2024 @ 18:47:
Erge is ook nog eens dat als ik PHPStan (static analyzer) uitvoer op het project dat die kijkt hoeveel (virtuele) CPUs er zijn (20), en op basis daarvan bepaald hoeveel processen te starten, dat gecombineerd met een groot project betekent dat er 1GB RAM nodig is per process, en die de laptop dus plat gooit (en bv PHPStorm wordt gekilld met een out of memory). Vervolgens via config het aantal processen beperkt tot 10, en nog steeds problemen. Dus intussen beperkt tot 5 processen...
Gebruik je deze regel uit bleedingEdge al in je config? https://github.com/phpsta...40db3c9e0d9858bdcb4dd3198
Scheelt bij ons factor 5 geheugengebruik en factor 2 cpu.

{signature}


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:30
Voutloos schreef op woensdag 15 mei 2024 @ 20:52:
[...]
Gebruik je deze regel uit bleedingEdge al in je config? https://github.com/phpsta...40db3c9e0d9858bdcb4dd3198
Scheelt bij ons factor 5 geheugengebruik.
Nope. Ga ik morgen even proberen nadat ik nieuw RAM heb :p

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
farlane schreef op woensdag 15 mei 2024 @ 19:36:
[...]
Oh ja, die was ik nog vergeten, build systems... :o
Dat is wel een dingetje waar Rust veel makkelijker in is. Even dependencies toevoegen aan de Cargo.toml, cargo run draaien en alles wordt voor je opgehaald en gecompileerd.

Build systems voor C++ vereisen een studie an sich. CMake ben ik nog niet heel handig in. Ik begrijp het concept (denk ik). In die zin dat het makefiles, project files etc voor jou kan genereren en je op een portable manier kunt ontwikkelen.

Maar dat gooit wel meldingen om mijn oren soms.. kan het weer 1 of andere generator niet vinden _O- Mijn C++ testproject gebruikt dan ook een ouderwetse simpele Makefile.

Tot nu toe is mijn ervaring: C++ de taal is eenvoudiger voor mij dan Rust, maar de tools rondom C++ zijn veel lastiger / complexer.

Even een git2 crate binnenharken met Cargo met 1 tekstregel en 1 commando is wel prettiger dan vcpkg en cmake aan de praat krijgen en je afvragen waarom na de installatie van libgit2 de header file <ergens> staat, maar ik het nog ff niet weet.

Met Rust heb ik dan al vanuit code een git repo geopend en de branchnaam waar HEAD naar wijst opgevraagd... het C++ project compileert nog niet :$ _O- Dat krijg ik wel aan de praat door handmatig te linken, maar als ik het netjes en cross platform wil doen... uh oh.

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22:43
.oisyn schreef op woensdag 15 mei 2024 @ 20:41:
[...]

Over Java kan ik geen uitspraken doen, maar Rust heeft weldegelijk UB. Wel komt er een unsafe block aan te pas om het te krijgen.
Die tel ik niet mee tbh. Als je bewust kiest voor unsafe... /shrug

Als C++ nou een /safe zou hebben...

[ Voor 7% gewijzigd door farlane op 15-05-2024 23:49 ]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

farlane schreef op woensdag 15 mei 2024 @ 23:46:
[...]

Die tel ik niet mee tbh. Als je bewust kiest voor unsafe... /shrug
Unsafe is soms gewoon nodig, en als je het nodig hebt, moet je toch verdomd goed oppassen voor UB. Je kunt bijvoorbeeld geen vector implementeren zonder unsafe. Typische plekken waar je unsafe nodig hebt zijn zaken rondom MaybeUninit<T>, mem::transmute en Pin<T>, voor resp. custom containers, het (de)serializen van binaire data (van/naar network of disk oid) en self-referential data (incl Future implementaties e.d.)

[ Voor 30% gewijzigd door .oisyn op 16-05-2024 00:18 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • +1 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 02:24

F.West98

Alweer 16 jaar hier

Lethalis schreef op woensdag 15 mei 2024 @ 14:21:
[...]

En de rest van jouw verhaal heb je eigenlijk ook bij Java bijvoorbeeld. Er zijn 101 manieren om iets te doen, meerdere package / build managers (Maven, Gradle, etc), veel projecten die niet verder dan Java 8 zijn gekomen, etc.

Maar er staat net zoals bij C++ tegenover dat het volwassen is en je echt voor bijna alles wel een library kunt vinden om te gebruiken.

Bij Rust en Go kom je sneller op dat punt van "he bah, hier is nog niks voor". [..]
Totdat je in JVM-land "moderne" dingen wil gaan doen zoals, hou je vast, de Docker API aanroepen en dan kom je terecht in een moeras van slecht onderhouden, half-functionele libraries terecht die soms al jaren dood zijn. Dé Docker SDK voor Java heeft tientallen openstaande MRs, vooral voor (vulnerable) version updates, en de hele ervaring is vrij buggy en irritant to say the least. /rant

En dan specifiek voor Docker is het in .NET wel weer een stuk beter, maar daar zijn dan weer allerlei andere zaken die gewoon abandonware zijn geworden. Dus ja, "mature" kan handig zijn, maar het is zeker geen silver bullet.

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
.oisyn schreef op woensdag 15 mei 2024 @ 23:55:
[...]


Unsafe is soms gewoon nodig, en als je het nodig hebt, moet je toch verdomd goed oppassen voor UB. Je kunt bijvoorbeeld geen vector implementeren zonder unsafe. Typische plekken waar je unsafe nodig hebt zijn zaken rondom MaybeUninit<T>, mem::transmute en Pin<T>, voor resp. custom containers, het (de)serializen van binaire data (van/naar network of disk oid) en self-referential data (incl Future implementaties e.d.)
Dat je in Rust situaties hebt die niet zonder unsafe kunnen is ook wel logisch. In principe garandeert de Rust compiler dat de code veilig is, anders compiled het gewoon niet. Er zijn ook zaken waarbij de compiler zo'n garantie niet kan geven. Bijvoorbeeld bij mem::transmute. Wat in je feiten met unsafe doet is tegen de compiler zeggen: "Dude, trust me!". Als je weet wat je doet is er niets aan de hand. Het is niet heel verschillend met bijvoorbeeld C/C++ of zelfs Java, waarbij je hetzelfde of erger kunt doe maar dan zonder überhaupt iets aan hoeft te geven; en dus veel makkelijker segfault waardige code kunt shrijven.

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 23:48
unsafe is inderdaad niets mis mee. C# heeft het ook, en toch kom je het niet zo vaak tegen in echte code. De plekken waar het gebeurd weet je gewoon dat je echt heel secuur te werk moet gaan en het goed moet testen.

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
F.West98 schreef op donderdag 16 mei 2024 @ 03:16:
[...]


Totdat je in JVM-land "moderne" dingen wil gaan doen zoals, hou je vast, de Docker API aanroepen en dan kom je terecht in een moeras van slecht onderhouden, half-functionele libraries terecht die soms al jaren dood zijn. Dé Docker SDK voor Java heeft tientallen openstaande MRs, vooral voor (vulnerable) version updates, en de hele ervaring is vrij buggy en irritant to say the least. /rant

En dan specifiek voor Docker is het in .NET wel weer een stuk beter, maar daar zijn dan weer allerlei andere zaken die gewoon abandonware zijn geworden. Dus ja, "mature" kan handig zijn, maar het is zeker geen silver bullet.
Afbeeldingslocatie: https://tweakers.net/i/odcfc7b1DePOt61FqbwzgVRDDZA=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/sGQzkSAqobjQeknwpR7TgtwW.png?f=user_large

I'll see myself out :X

(op mijn werk, een groot WinForms pakket op .NET 4.7.2 met meer dan een half miljoen regels code en tig dependencies waarvan het steeds lastiger wordt om ze bij te werken omdat het ook hip wordt om .NET 4.x steeds minder goed te supporten)

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Lethalis schreef op donderdag 16 mei 2024 @ 09:36:
[...]


(op mijn werk, een groot WinForms pakket op .NET 4.7.2 met meer dan een half miljoen regels code en tig dependencies waarvan het steeds lastiger wordt om ze bij te werken omdat het ook hip wordt om .NET 4.x steeds minder goed te supporten)
.NET Framework is ook zo goed als end-of-life. Officieel heeft het die status nog niet, in de praktijk komt het daar wel op neer -- en dat is ook gewoon al jaren bekend. Een betere vraag zou zijn waarom jullie nog steeds op .NET Framework zitten, en nog niet zijn overgestapt op .NET. Het is misschien aardig wat werk qua migreren, maar hoe langer je daarmee wacht hoe erger het zal worden.

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 23:48
Tja, ik werk nu ook in het platform waar nog steeds 3 monolieten in .net geschreven zijn. Er is wel een traject om dat uit te faseren naar .net 8+, maar dat is makkelijker gezegd dan gedaan. Wij zouden als afdeling daar een heel jaar mee bezig zijn. Een jaar waarin de business niet meer kan krijgen wat ze nodig hebben en waar bugfixes en andere broodnodige wijzigingen niet kunnen worden doorgevoerd.
En dus gaat het langzaam en gestaag verder en kost het nog wel een jaar of 3 minstens om het om te zetten.

Wat op zich ook niet erg is, want hoewel steeds meer packages afscheid nemen van de ondersteuning ervan, zit MS er nog voor zeker een jaar of 5 aan vast qua security patches.

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Caelorum schreef op donderdag 16 mei 2024 @ 09:57:
Tja, ik werk nu ook in het platform waar nog steeds 3 monolieten in .net geschreven zijn. Er is wel een traject om dat uit te faseren naar .net 8+, maar dat is makkelijker gezegd dan gedaan. Wij zouden als afdeling daar een heel jaar mee bezig zijn. Een jaar waarin de business niet meer kan krijgen wat ze nodig hebben en waar bugfixes en andere broodnodige wijzigingen niet kunnen worden doorgevoerd.
En dus gaat het langzaam en gestaag verder en kost het nog wel een jaar of 3 minstens om het om te zetten.

Wat op zich ook niet erg is, want hoewel steeds meer packages afscheid nemen van de ondersteuning ervan, zit MS er nog voor zeker een jaar of 5 aan vast qua security patches.
Het is ook niet eenvoudig, maar dat betekend niet dat het niet kan. Wij werken zelf niet met .NET, maar hebben wel verschillende code-bases gemigreerd van oude versies naar nieuwe zonder dat daarbij de boel helemaal stil heeft gelegen qua features en onderhoud.

Hoe we dat gedaan hebben komt altijd in de buurt van:
- Bepaal een cut-off point. Kies een versie van je product dat je als basis neemt voor de migratie.
- Zorg dat je unit tests hebt met voldoende coverage
- Zoek uit of de huidige dependencies nog bestaan in de nieuwe versie van het framework, etc. etc.
- Update alle bestaande dependencies de laatste versie die ondersteund wordt, en vervang alles wat niet meer bestaat in de nieuwe versie.
- Migreer naar de nieuwe versie en zorg dat je code weer compiled. Het maakt niet uit of de code helemaal doet wat het moet doen, dat repareer je later; dat het weer compiled is nu belangrijker.
- Veel tests falen, maar dat kun je repareren juist omdat je de tests hebt.
- Haal de schoonheidsfoutjes uit de gemigreerde codebase, etc. etc.
- Port de wijzigingen uit de parallel gelopen "oude" versie naar de gemigreerde code-base, etc.

Het is aardig wat werk, maar dit kan allemaal parallel lopen. Als je een groot team hebt kun je daar een paar mensen dedicated op zetten, en anders kun je dat tussen de bestaande taken heen plannen.

Het klinkt misschien allemaal wat kort door de bocht, maar dit hebben wij de laatste jaren bij meerdere projecten zo gedaan. Je ziet misschien wat beren op de weg maar dat blijkt in de praktijk vaak toch wel mee te vallen. Je bouwt er ook kennis en expertise mee op wat later (in je carrière) weer van pas kan komen.

Acties:
  • +2 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ThomasG schreef op donderdag 16 mei 2024 @ 09:52:
[...]
.NET Framework is ook zo goed als end-of-life. Officieel heeft het die status nog niet, in de praktijk komt het daar wel op neer -- en dat is ook gewoon al jaren bekend. Een betere vraag zou zijn waarom jullie nog steeds op .NET Framework zitten, en nog niet zijn overgestapt op .NET. Het is misschien aardig wat werk qua migreren, maar hoe langer je daarmee wacht hoe erger het zal worden.
Omdat het ons simpelweg met het huidige team niet gaat lukken. Al zouden we fulltime daaraan werken zijn we over een jaar nog niet klaar... en kunnen we zoals @Caelorum ook al aangeeft de business niet ondersteunen met alle vragen en wijzigingen die ze elke dag hebben.

Ik werk aan een pakket dat in 2001 het daglicht zag en gebaseerd is op een VB6 voorganger. Wij hebben een iets andere definitie van Long Term Support dan Microsoft heeft tegenwoordig.

Daarom ben ik ook erg huiverig voor ons nieuwe Angular pakket. Dat moet dan ook weer 20 jaar meegaan. Al zouden we er fulltime aan werken, duurt het minimaal 5 jaar voordat het gereleased kan worden. Het is dan waarschijnlijk dead on arrival.

Ik heb ooit aan een AngularJS pakket gewerkt ;w Versie 1 was nog niet af en AngularJS was alweer dood. Vanuit de business is het ook niet te verteren. Daar heerst de mentaliteit "je bouwt iets een keer en dan heb je er vele jaren plezier van". Niet "het moet continu onderhouden en verbouwd worden".

Vroeger klopte de oorspronkelijke stelling wat meer dan tegenwoordig. En hoewel ik het allemaal prima begrijp hoor, geef ik ze ook weer een beetje gelijk. Het lijkt soms alsof we ons als developers de hele tijd zelf werk verschaffen, omdat het weer anders / beter moet.

Als developer vind ik het prachtig om nieuwe dingen te leren en te doen. Maar als het mijn geld zou zijn... oei. Mijn auto is ook alweer 10 jaar oud, dus ik weet wel hoe ik zou zijn dan. I'll keep it running until the wheels fall off.

PS
Misschien valt het soms ook op aan mijn berichten hier... maar ik zoek al jaren bijna wanhopig naar het vereenvoudigen van alles. Web development is tegenwoordig namelijk een drama. Je zoekt in een zee van onzekerheid naar stabiliteit. Een basis waarop je voor vele jaren kan bouwen.

Dat leidt tot gedachten als "wat is het meest minimale framework dat ik kan gebruiken?", of "zou het ook lukken het helemaal zelf te doen?". Want elke keer als wij bouwen op een externe partij dan gaat de boel ineens weer overhoop, terwijl ons product nog lang niet af is.

Ik vind Angular hartstikke mooi en ik kan er leuke dingen mee bouwen... maar gaat mijn project nog werken als ik het over 10 jaar wil builden? Of lijkt het Angular dat er over 10 jaar is totaal niet meer op Angular 17 en had ik het al 10x moeten verbouwen terwijl ik daar bij lange na de tijd niet voor zal hebben?

Hoe lelijk en ouderwets het ook is, Windows Forms is behoorlijk lang meegegaan zonder grote wijzigingen. En Microsoft heeft het niet voor niets geporteerd, want ze weten ook dat veel bedrijven de boel niet gaan ombouwen naar iets anders. En als ze het wel doen, dan wordt het een webpakket waarvoor Windows niet meer nodig is.

PPS
Daarom vind ik het soms ook leuk om back to basics te gaan en C++ te doen etc. Ik heb er ook weleens aangedacht om ander soort werk te doen waarbij er geen user interface is. Embedded development, of mij helemaal storten op backend development. Dan ben ik maar geen full stack meer. F*ck dat :D

Ik ben pas 43... ik moet nog een tijdje mee. But sometimes, I'm getting too old for this shit :F

[ Voor 50% gewijzigd door Lethalis op 16-05-2024 16:49 ]

Ask yourself if you are happy and then you cease to be.


Acties:
  • +1 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 23:48
ThomasG schreef op donderdag 16 mei 2024 @ 10:23:
[...]
Het klinkt misschien allemaal wat kort door de bocht, maar dit hebben wij de laatste jaren bij meerdere projecten zo gedaan. Je ziet misschien wat beren op de weg maar dat blijkt in de praktijk vaak toch wel mee te vallen. Je bouwt er ook kennis en expertise mee op wat later (in je carrière) weer van pas kan komen.
Ik heb tientallen codebases gemigreerd over de afgelopen jaren en geloof me, van een grote monolitische .net framework 4.7 applicatie naar een .net 8 applicatie gaan is (vaak) nagenoeg gelijk aan een rewrite.

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Caelorum schreef op donderdag 16 mei 2024 @ 11:36:
[...]

Ik heb tientallen codebases gemigreerd over de afgelopen jaren en geloof me, van een grote monolitische .net framework 4.7 applicatie naar een .net 8 applicatie gaan is (vaak) nagenoeg gelijk aan een rewrite.
Toch schijnen daar allerlei tools voor beschikbaar te zijn: https://learn.microsoft.c...tion/?view=netdesktop-8.0

Ik ken ze verder niet en heb ze zelf nooit gebruikt. Maar Microsoft kennende hadden ze dat soort zaken altijd wel goed geregeld.

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ThomasG schreef op donderdag 16 mei 2024 @ 11:48:
[...]
Toch schijnen daar allerlei tools voor beschikbaar te zijn: https://learn.microsoft.c...tion/?view=netdesktop-8.0

Ik ken ze verder niet en heb ze zelf nooit gebruikt. Maar Microsoft kennende hadden ze dat soort zaken altijd wel goed geregeld.
_O- _O- _O-

Sorry dat ik er om moet lachen. Of huilen. Ik weet het ook niet meer. Ik werk sinds 2003 als .NET developer trouwens.

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Lethalis schreef op donderdag 16 mei 2024 @ 11:50:
[...]

_O- _O- _O-

Sorry dat ik er om moet lachen. Of huilen. Ik weet het ook niet meer. Ik werk sinds 2003 als .NET developer trouwens.
Een goede reden om geen .NET te gebruiken dan :+

Microsoft was altijd van de backwards compatibility, en bijvoorbeeld de C/C++ API is enorm stabiel zelfs tussen de Windows versies door. Maar het antieke .NET Framework is blijkbaar gewoon overboord gegooid _O-

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ThomasG schreef op donderdag 16 mei 2024 @ 11:54:
[...]
Een goede reden om geen .NET te gebruiken dan :+
Eerlijk is eerlijk, ik ben ooit met .NET begonnen voor het geld. Niet omdat mijn hart daar lag.

In 2003 regende het .NET vacatures en ik had een baantje nodig. Thuis draaide ik op dat moment Linux en ik programmeerde in C en C++. Okee, en het beetje webdevelopment dat ik deed, was PHP. Want dat was gewoon makkelijk en leidde snel tot resultaat.

Maar ja, dan krijg je ruzie met je ouders en moet je het huis uit. Je opent monsterboard en ziet dat .NET gevraagd is. Je vraagt destijds een vriend (@Marcade) voor een kopie van Visual Studio. Je leert jezelf .NET in een paar maanden en solliciteert.

Ach ja, ik kan zeiken over Microsoft wat ik wil, maar ik verdien er al 21 jaar mijn geld mee.

Ask yourself if you are happy and then you cease to be.


Acties:
  • +2 Henk 'm!

  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 16-09 13:43
Lethalis schreef op donderdag 16 mei 2024 @ 10:25:
[...]

#herkenbaar verhaal#

Ik ben pas 43... ik moet nog een tijdje mee. But sometimes, I'm getting too old for this shit :F
1 van de dingen die nogal onderbelicht zijn is het werkplezier om in die oude meuk te moeten werken. Wij hebben al ervaren dat junior developers gewoon vertrekken als ze zien dat ze nog jaren in legacy meuk moeten werken. Fijn dat je werkgever het nog lang wil ondersteunen, maar zonder mensen wordt dat toch lastig.

Acties:
  • +2 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 23:48
ThomasG schreef op donderdag 16 mei 2024 @ 11:48:
[...]
Toch schijnen daar allerlei tools voor beschikbaar te zijn: https://learn.microsoft.c...tion/?view=netdesktop-8.0

Ik ken ze verder niet en heb ze zelf nooit gebruikt. Maar Microsoft kennende hadden ze dat soort zaken altijd wel goed geregeld.
Ja... pak eens een wat complexer project en probeer het uit zou ik zeggen :D

Acties:
  • +2 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

ThomasG schreef op donderdag 16 mei 2024 @ 11:48:
[...]
Toch schijnen daar allerlei tools voor beschikbaar te zijn: https://learn.microsoft.c...tion/?view=netdesktop-8.0

Ik ken ze verder niet en heb ze zelf nooit gebruikt. Maar Microsoft kennende hadden ze dat soort zaken altijd wel goed geregeld.
Een handvol labels en een timer op één form... Ja, dat converteert prima _O-

Probeer het nu eens met iets van Telerik of DevExpress op honderden forms met custom code die op Windows XP nog werkte.

Maar WinForms werkt al wel twintig jaar hetzelfde want de Win32-User-API eronder is ook niet veranderd. Dat gedeelte van de code kun je prima porten. Het gaat om alle custom meuk, third-party controls waarvan de maker vaak niet eens meer leeft, enzovoorts. En om de opzet in het algemeen: elk form heeft z'n eigen data-controls, waarvan de queries worden herschreven met strings in knop-klik-events, de applicatie is bedacht met honderd databaseregels in het achterhoofd en dat zijn er na tien jaar gebruik honderdduizend, enzovoorts.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • +1 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Lethalis schreef op donderdag 16 mei 2024 @ 12:00:
[...]

Eerlijk is eerlijk, ik ben ooit met .NET begonnen voor het geld. Niet omdat mijn hart daar lag.

In 2003 regende het .NET vacatures en ik had een baantje nodig. Thuis draaide ik op dat moment Linux en ik programmeerde in C en C++. Okee, en het beetje webdevelopment dat ik deed, was PHP. Want dat was gewoon makkelijk en leidde snel tot resultaat.

Maar ja, dan krijg je ruzie met je ouders en moet je het huis uit. Je opent monsterboard en ziet dat .NET gevraagd is. Je vraagt destijds een vriend (@Marcade) voor een kopie van Visual Studio. Je leert jezelf .NET in een paar maanden en solliciteert.

Ach ja, ik kan zeiken over Microsoft wat ik wil, maar ik verdien er al 21 jaar mijn geld mee.
Ik ben eind jaren 90 ook begonnen met Visual Studio samen met een buurjongen. Dan maakte we onbenullige applicaties in Visual Basic (vóór .NET) (waren gewoon Windows Forms die we niet eens hernoemd hadden, dus Form1, Form2, etc.) met wat in elkaar geknutselde form controls. Applicatie "afsluiten" deden wij met Me.Hide, waardoor het proces dus gewoon op de achtergrond bleven draaien. Wisten wij veel _O-

Daarna kwam er een HTML, JavaScript en PHP fase want websites maken was hot. En dan ontdek je Linux, zo heb ik ooit nog eens in de winkel SuSE Linux gekocht en neig ik nog steeds richting RHEL (en heb ik een hekel aan Debian en afgeleiden :+). Via allerlei paden en wegen ben ik toen uitgekomen bij embedded systemen, terwijl ik nu juist werk aan de backend van SaaS applicaties en WebGL.

Op een of andere manier ben ik, behalve van stukjes spielerei en wat tools, met een grote boog om .NET heen gegaan 8)7

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
CodeCaster schreef op donderdag 16 mei 2024 @ 12:18:
[...]


Maar WinForms werkt al wel twintig jaar hetzelfde want de Win32-User-API eronder is ook niet veranderd. Dat gedeelte van de code kun je prima porten. Het gaat om alle custom meuk, third-party controls waarvan de maker vaak niet eens meer leeft, enzovoorts. En om de opzet in het algemeen: elk form heeft z'n eigen data-controls, waarvan de queries worden herschreven met strings in knop-klik-events, de applicatie is bedacht met honderd databaseregels in het achterhoofd en dat zijn er na tien jaar gebruik honderdduizend, enzovoorts.
Als ik dat zo lees klinkt dat helaas toch wel als een ontwerpfout. Als er heel veel herschreven moet worden, en queries overal in verweven zitten, klopt er eigenlijk gewoon iets niet. Nu zal daar natuurlijk wel een nuance in zitten, en is dat ooit zo gelopen, en is er nu een enorme technical debt, etc. Maar ik vraag mij dan toch wel af waarom er in al die jaren nooit iets aan gedaan is. Ik snap het wel, maar ik vind het altijd enorm jammer als ik zulke code-bases tegen kom.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

ThomasG schreef op donderdag 16 mei 2024 @ 12:24:
[...]
Als ik dat zo lees klinkt dat helaas toch wel als een ontwerpfout. Als er heel veel herschreven moet worden, en queries overal in verweven zitten, klopt er eigenlijk gewoon iets niet. Nu zal daar natuurlijk wel een nuance in zitten, en is dat ooit zo gelopen, en is er nu een enorme technical debt, etc. Maar ik vraag mij dan toch wel af waarom er in al die jaren nooit iets aan gedaan is. Ik snap het wel, maar ik vind het altijd enorm jammer als ik zulke code-bases tegen kom.
Kijk, en hier maak je de kritieke denkfout dat software überhaupt een ontwerpfase doormaakt.

Je wil niet weten hoeveel mom&pop-shops, of handige neefjes, of zzp'ers die één trucje kunnen (en vervolgens vervloekt worden, maar hey, zij zijn ervandoor met de buit) en "zo doen wij dat altijd tv's oppikken"-clubs er zijn.

Die hebben ooit iets gebouwd in MS Access. Of VB6 wat je zelf al noemt. Of in de eerste versies van WinForms. Ongeschoold, onervaren, "het werkt toch?" en door naar de volgende gig.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
CodeCaster schreef op donderdag 16 mei 2024 @ 12:18:
[...]

Een handvol labels en een timer op één form... Ja, dat converteert prima _O-

Probeer het nu eens met iets van Telerik of DevExpress op honderden forms met custom code die op Windows XP nog werkte.

Maar WinForms werkt al wel twintig jaar hetzelfde want de Win32-User-API eronder is ook niet veranderd. Dat gedeelte van de code kun je prima porten. Het gaat om alle custom meuk, third-party controls waarvan de maker vaak niet eens meer leeft, enzovoorts. En om de opzet in het algemeen: elk form heeft z'n eigen data-controls, waarvan de queries worden herschreven met strings in knop-klik-events, de applicatie is bedacht met honderd databaseregels in het achterhoofd en dat zijn er na tien jaar gebruik honderdduizend, enzovoorts.
Dit dus. Bij ons is het ComponentOne en DevExpress.

En inderdaad intensief gebruik van data grids zonder scheiding van UI en business layer. Dus de code is afhankelijk van de events die de controls raisen en de properties die de controls hebben.

Overstappen op een ander component is al niet te doen zonder een complete rewrite.

En de directie vond het mooi dat je alles direct in de grids kon doen. Een formpje openen om een regel te wijzigen? Nee joh, het grid kan dat ook!

Enzovoorts...

Ask yourself if you are happy and then you cease to be.


Acties:
  • +1 Henk 'm!

  • RagingPenguin
  • Registratie: December 2012
  • Niet online
CodeCaster schreef op donderdag 16 mei 2024 @ 12:28:
[...]

Kijk, en hier maak je de kritieke denkfout dat software überhaupt een ontwerpfase doormaakt.

Je wil niet weten hoeveel mom&pop-shops, of handige neefjes, of zzp'ers die één trucje kunnen (en vervolgens vervloekt worden, maar hey, zij zijn ervandoor met de buit) en "zo doen wij dat altijd tv's oppikken"-clubs er zijn.

Die hebben ooit iets gebouwd in MS Access. Of VB6 wat je zelf al noemt. Of in de eerste versies van WinForms. Ongeschoold, onervaren, "het werkt toch?" en door naar de volgende gig.
Exact dat, een van de best ontworpen applicaties waar ik nog bijna dagelijks aan werk is een winform uit 2007 met meerdere miljoenen LOCs. Maar die is wel goed opgezet, met duidelijke scheiding tussen UI en logic en alle (hergebruikte) controls zitten in een los project waar we eigenlijk nooit aan zitten (enkel aan de specifieke schermen die onze eigen controls weer gebruiken).

Het kan wel, het probleem is dat winform het php van 20 jaar terug is waar heel veel beginners maar wat in aanrommelde, en enkel de hele grote goede en de hele slechte gevallen van over zijn. Terwijl veel 'gewone' winform projecten van gemiddelde omvang en kwaliteit al lang weer herschreven zijn in iets anders.

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ThomasG schreef op donderdag 16 mei 2024 @ 12:20:
[...]
Daarna kwam er een HTML, JavaScript en PHP fase want websites maken was hot. En dan ontdek je Linux, zo heb ik ooit nog eens in de winkel SuSE Linux gekocht en neig ik nog steeds richting RHEL (en heb ik een hekel aan Debian en afgeleiden :+). Via allerlei paden en wegen ben ik toen uitgekomen bij embedded systemen, terwijl ik nu juist werk aan de backend van SaaS applicaties en WebGL.
Grappig, ik gebruikte Slackware Linux, maar ben destijds door een vriend (die later een heel hosting bedrijf heeft opgezet) juist Debian gaan gebruiken.

PHP was gewoon een verademing ten opzichte van een Perl script schrijven. Been there, done that :/

Ask yourself if you are happy and then you cease to be.


Acties:
  • +1 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
CodeCaster schreef op donderdag 16 mei 2024 @ 12:28:
[...]

Kijk, en hier maak je de kritieke denkfout dat software überhaupt een ontwerpfase doormaakt.

Je wil niet weten hoeveel mom&pop-shops, of handige neefjes, of zzp'ers die één trucje kunnen (en vervolgens vervloekt worden, maar hey, zij zijn ervandoor met de buit) en "zo doen wij dat altijd tv's oppikken"-clubs er zijn.

Die hebben ooit iets gebouwd in MS Access. Of VB6 wat je zelf al noemt. Of in de eerste versies van WinForms. Ongeschoold, onervaren, "het werkt toch?" en door naar de volgende gig.
Dat klopt helemaal. En dat is dus precies het probleem. Maar wat je vervolgens vaak ziet is het helaas: oh, zo is het nu eenmaal, laten we maar op die manier verder gaan. Dan horen alle alarmbellen af te gaan. Daar kun je als individuele programmeur vaak ook helemaal niets aan doen, al zou je het willen. Vooral als je pas later in het project komt. Maar als een organisatie daar de ernst niet van inziet is gewoon vragen om grote problemen.

Vroeger toen iedereen de waterval-methode gebruikt was dit probleem heel groot. Veel van de (oude) software met zulke problemen stamt ook uit die tijd. Met scrum is het gelukkig veel makkelijker om vroegtijdig in te grijpen. Al is er dan nog steeds weinig te bereiken als het grootste deel uit beunhazen bestaat :F

Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
RagingPenguin schreef op donderdag 16 mei 2024 @ 12:35:
[...]
Het kan wel, het probleem is dat winform het php van 20 jaar terug is waar heel veel beginners maar wat in aanrommelde, en enkel de hele grote goede en de hele slechte gevallen van over zijn. Terwijl veel 'gewone' winform projecten van gemiddelde omvang en kwaliteit al lang weer herschreven zijn in iets anders.
Ik denk dat veel bedrijven sowieso op die manier zijn begonnen. De directeur van het bedrijf waarvoor ik werk, was gewoon handig met computers terwijl hij ander werk deed. En als het dan lukt om in de jaren 90 een DOS programma te maken dat allerlei bedrijfsprocessen een stuk efficiënter laat verlopen, dan wordt dat jouw werk. En vervolgens groeit dat, krijgt de software een naam, wordt het ook verkocht aan andere bedrijven, neem je meer mensen aan ervoor, maak je een Windows versie, splits je later de software afdeling af van de main business... et voila, je hebt een softwarebedrijf.

En dan reageer ik op de vacature en ga er werken aan een ander project, een project dat uiteraard ermee stopte. Dan kun je kiezen. Aan de core producten werken, of weggaan. Als je dan net een huis hebt gekocht en jouw vriendin zwanger is... tsja. Kom maar op met die Windows Forms zooi.

Een andere collega van mij wou dat niet en die moest toen dus ook een andere baan zoeken. Is overigens ook weer prima terechtgekomen, dus hoe bang je daar nou uiteindelijk voor moet zijn geen idee. Ik ben alleen onderdeel van het meubilair geworden inmiddels, dus ik durf amper nog ergens anders te werken _O-

Ik heb ook wel veel vrijheid. Kan thuiswerken, eerder weg wanneer ik wil, enzovoorts. Allemaal handige dingen als je een jong kind hebt. En als ik iets verkloot of niet op tijd af heb, dan heeft dat eigenlijk nooit consequenties. Als ik het maar weer oplos.

De sfeer is enorm informeel. Maar goed, ik vrees wel voor het aannemen van nieuw personeel. Die ga je nauwelijks kunnen motiveren om aan de bestaande software te werken. Laat staan dat ze het überhaupt kunnen, omdat ze die hele historie niet kennen.

Zo heb ik laatst met een collega een bug in de software opgelost door in te haken op de main message loop en te kijken welk control nou focus krijgt in een bepaalde situatie. Want dat kregen we standaard met de debugger niet meer voor elkaar (ook mede dankzij externe componenten die tig levels diep genest zijn).

Een jonge dev weet waarschijnlijk niet eens wat een Windows message loop is.

Ask yourself if you are happy and then you cease to be.


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ThomasG schreef op donderdag 16 mei 2024 @ 13:08:
[...]
Al is er dan nog steeds weinig te bereiken als het grootste deel uit beunhazen bestaat :F

***members only***
De jaren 90 noemen we op mijn werk ook wel de pioniertijd. Veel beunhazen inderdaad, maar wel échte hobbyisten. Kortom, misschien geen formele opleiding, maar konden wel van alles.

En tegenwoordig lijkt het andersom. Mooi papiertje, maar als ze iets moeten maken dan moeten ze aan het handje vastgehouden worden.

Ik val ertussen in overigens. Aan de ene kant echte hobbyist, aan de andere kant had ik bijna de HTS af. Alleen door de ruzie met mijn ouders destijds ben ik als HBO dropout gaan werken. Dus ik heb iig voor een deel formele opleiding gehad. Pascal, C en C++ heb ik bijvoorbeeld op school geleerd ooit. En ik moest code formeel bewijzen met discrete wiskunde (al vond ik dat in de praktijk niet heel nuttig). Leukste vak vond ik besturingssystemen. En toen begon ook mijn interesse voor Linux.

Mijn opleiding was echter nog gebaseerd op AMBI, dus de hele OOP rage kwam daarna pas. Ik heb wel later nog cursussen aan de Open Universiteit gevolgd daarvoor (Java, objectgeorienteerd analyseren en ontwerpen, etc).

Maar in de basis ben ik een hobbyist. Autodidact. Make it work. Weet je niet hoe? Ga lezen. Ik stam nog uit de tijd dat je gewoon een boek kocht en dat rustig ging lezen.

En ik vrees dat de jeugd veel te afgeleid is door alles. Ik ben eigenlijk bestwel blij dat in mijn jeugd geen internet was zoals we het vandaag kennen. Dat er geen social media was. Dat de tijd die ik achter de computer zat, besteed werd aan dingen leren en uitproberen... en niet doelloos filmpjes kijken en met iedereen chatten.

Want dan had ik misschien ook veel minder gekund...

Goh, ik klink nu echt als een oude zak :+ En ik zit eigenlijk alweer teveel op dit forum, proving my point :$

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ThomasG schreef op donderdag 16 mei 2024 @ 13:08:
[...]
Vroeger toen iedereen de waterval-methode gebruikt was dit probleem heel groot. Veel van de (oude) software met zulke problemen stamt ook uit die tijd. Met scrum is het gelukkig veel makkelijker om vroegtijdig in te grijpen.
Het zal wel een domme opmerking van mij zijn, maar dit gaat toch vooral om de functionele eisen?

Het grote nadeel van de waterval methode was dat er weinig contact met de stakeholders was, waardoor je soms maanden aan iets werkte dat de klant helemaal niet zo bedoeld had. Met agile methoden kun je sneller bijsturen waardoor de kans van slagen groter wordt. Maar dat is dan vooral of het product voldoet aan wat de klant verwacht.

Dat het achter die mooie user interface compleet rot is, heeft die immers niet door :D

Hoogstens dat het netter opzetten het ook eenvoudiger maakt om bij te sturen. Maar gezien er ook een hoop "cowboy programming" is, wordt dat ook vaak gemaskeerd. Oftewel "oh crap, nou ik fix het dit weekend wel" en dan zijn we er alsnog ipv dat we het netjes gaan opzetten.

[ Voor 13% gewijzigd door Lethalis op 16-05-2024 14:17 ]

Ask yourself if you are happy and then you cease to be.


Acties:
  • +1 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Lethalis schreef op donderdag 16 mei 2024 @ 14:14:
[...]

Het zal wel een domme opmerking van mij zijn, maar dit gaat toch vooral om de functionele eisen?

Het grote nadeel van de waterval methode was dat er weinig contact met de stakeholders was, waardoor je soms maanden aan iets werkte dat de klant helemaal niet zo bedoeld had. Met agile methoden kun je sneller bijsturen waardoor de kans van slagen groter wordt. Maar dat is dan vooral of het product voldoet aan wat de klant verwacht.

Dat het achter die mooie user interface compleet rot is, heeft die immers niet door :D

Hoogstens dat het netter opzetten het ook eenvoudiger maakt om bij te sturen. Maar gezien er ook een hoop "cowboy programming" is, wordt dat ook vaak gemaskeerd. Oftewel "oh crap, nou ik fix het dit weekend wel" en dan zijn we er alsnog ipv dat we het netjes gaan opzetten.
Ja, en nee. Het heeft wel enigszins met elkaar te maken. Wat in de praktijk vaak gebeurde is dat er bij de waterval aan een stuk door aan features werkt gewerkt en de teams geïsoleerd werkte. Dat de code review, als die er al was, en het integreren ook aan het einde gebeurde. Als er slechte code geschreven werd, zag je dat vaak dus pas na een lange tijd. De aangerichte schade was dan al enorm. Bij scrum heb je een andere werkwijze waardoor dat soort dingen indirect veel eerder naar voren komen. Het is natuurlijk geen garantie, maar het bij sturen is makkelijker. Bijvoorbeeld bij de daily dat je denkt volgens mij... en dan toch maar even gaat kijken.

Acties:
  • +2 Henk 'm!

  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 16-09 13:43
Het probleem is denk ik dat in het verleden vaak is gedacht zoals @Lethalis al schetste dat als software af is, dat je dan geen continue onderhoud nodig hebt. En dat wordt steeds erger door de continue stroom aan security vulnerabilties op allerlei dependencies. Maar ook grotere veranderingen omdat iets zoals WinForms, Silverlight of AngulerJS dood is.

Terwijl ik de 20/80 regel over kosten van bouw vs onderhoud over de hele leeftijd van software 20 jaar terug ook al wel hoorde.

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
@ThomasG Code review? _O-

Ik ben eerder gewend dat je ver van elkaars code blijft, want zodra je het aanraakt is het van jou :+

"Oh dat? Daar heeft Pietje het laatst aan gewerkt"

Arme Pietje. De nieuwe probleemeigenaar. Pietje heeft 1 regel aangepast en nu is alles van hem.

Maar goed, dat is meer een bedrijfscultuur dingetje (of ontbreken daarvan). En dat iedereen het te druk heeft, dus je schuift het maar al te graag af.

[ Voor 16% gewijzigd door Lethalis op 16-05-2024 15:14 ]

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Lethalis schreef op donderdag 16 mei 2024 @ 15:12:
@ThomasG Code review? _O-

Ik ben eerder gewend dat je ver van elkaars code blijft, want zodra je het aanraakt is het van jou :+

"Oh dat? Daar heeft Pietje het laatst aan gewerkt"

Arme Pietje. De nieuwe probleemeigenaar. Pietje heeft 1 regel aangepast en nu is alles van hem.

Maar goed, dat is meer een bedrijfscultuur dingetje (of ontbreken daarvan). En dat iedereen het te druk heeft, dus je schuift het maar al te graag af.
Dit is inderdaad hoe het vaak gaat. Het begint klein en onschuldig, maar het stapelt zich wel allemaal op. En vraagt iedereen zich af hoe het heeft kunnen gebeuren, want er is nu een probleem. En het trieste is dan dat het allemaal voorkomen had kunnen worden toen het nog klein en onschuldig was. Gelukkig kun je tegenwoordig een heleboel vrij eenvoudig afvangen met goede DevOps. Zo wordt veel bullshit bij ons automatisch teruggefloten.

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ThomasG schreef op donderdag 16 mei 2024 @ 15:25:
[...]
Gelukkig kun je tegenwoordig een heleboel vrij eenvoudig afvangen met goede DevOps. Zo wordt veel bullshit bij ons automatisch teruggefloten.
Wat doe je dan zoal daarmee?

Wij hebben wel wat Jenkins taken lopen, om o.a. te controleren of de build blijft werken met de laatste versie van de code. Daarnaast heb ik een taak gemaakt die de code scant op veelvoorkomende fouten, zoals wanneer mensen SQL uit management studio kopiëren en de naam van onze ontwikkeldatabase er nog in staat.

Dat lijkt enorm stupid, maar omdat iedereen toegang heeft tot de ontwikkeldatabase, rolt het niet eens uit de tests. Mijn taak vangt het af, zodat het niet bij de klant terechtkomt :D Ook scan ik op bepaalde keywords die misschien niet supported zijn door oudere versies van SQL Server, zoals OPTIMIZE_FOR_SEQUENTIAL_KEY.

Enfin, het scheelt ons werk met het maken van updates van nieuwe releases, uitleveringen die we 's avonds opnieuw kunnen gaan doen etc.

[ Voor 6% gewijzigd door Lethalis op 16-05-2024 20:35 ]

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 21:19
SiErRa schreef op donderdag 16 mei 2024 @ 14:55:
Het probleem is denk ik dat in het verleden vaak is gedacht zoals @Lethalis al schetste dat als software af is, dat je dan geen continue onderhoud nodig hebt. En dat wordt steeds erger door de continue stroom aan security vulnerabilties op allerlei dependencies. Maar ook grotere veranderingen omdat iets zoals WinForms, Silverlight of AngulerJS dood is.

Terwijl ik de 20/80 regel over kosten van bouw vs onderhoud over de hele leeftijd van software 20 jaar terug ook al wel hoorde.
Je kunt het een ander wel redelijk mitigeren met zaken als renovate of dependabot, maar uiteindelijk zul je inderdaad wel enig onderhoud moeten plegen.
Daarom moet je in mijn ogen ook altijd wel echt de tijd nemen om heel goed na te denken over potentieel toekomstig onderhoud.

Zo hadden we bijvoorbeeld op een vorig project met relatief veel developers een vrij uitgebreide scaffolding ingericht waardoor vrijwel iedere idioot een project kon genereren met CI / CD, vulnerability scanning, basisopzet voor Gradle / Java en ga zo maar door. Supermakkelijk, want elke junior kon zonder te snappen wat ie deed de basis scaffolden en aan de slag gaan. Het gevolg was lekker snel nieuwe dingen uit de grond stampen en dus een totale wildgroei aan copy-pasta zonder enige kritische noot over nut en noodzaak. En dan zit je na twee jaar al in de onderhoudshel. :p

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • +1 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Oh wilt u een bericht sturen? Dat kan heel makkelijk via onze site. Oh, maar u wilt iets pasten in uw bericht? Dat kan op zich, al staan we dat niet toe ALS ER ENTERS IN HET CLIPBOARD STAAN. #^@#$#!^@$%

/uwv-rant

Ik vraag me serieus af of ze het doen om je te pesten. "Beter ga je gewoon werken dan dat je met onze onzin moet dealen".

[ Voor 26% gewijzigd door .oisyn op 27-05-2024 10:44 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Enters bestaan niet, alleen maar CR en/of LF bytes. :p

(Details waar jij meestal op hapt }) )

{signature}


Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:30
* RobertMe kwam laatst een stuk code tegen waarin \n en \n\r werden vervangen door een <br> 8)7

spoiler:
Die laatste zal dus niet veel gedaan hebben, gezien het \r\n is. En dan zullen er ook geen Mac gebruikers zijn geweest, dat vroeger (pre MacOS X? / unix based) nog \r had.

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Voutloos schreef op maandag 27 mei 2024 @ 11:41:
Enters bestaan niet, alleen maar CR en/of LF bytes. :p
Dat zijn enters :Y)

Heb even gecheckt, zowel losse \n als \r accepteert hij ook niet. Een \t accepteert hij wel, maar dan zegt ie weer dat er "ongeldige tekens" in je bericht staan |:(

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • DevWouter
  • Registratie: Februari 2016
  • Laatst online: 17:33

DevWouter

Creator of Todo2d.com

.oisyn schreef op maandag 27 mei 2024 @ 12:52:
[...]


Dat zijn enters :Y)

Heb even gecheckt, zowel losse \n als \r accepteert hij ook niet. Een \t accepteert hij wel, maar dan zegt ie weer dat er "ongeldige tekens" in je bericht staan |:(
Pff... Ik ben dan soms in staat om snel de API te hacken en kijken of de backend het ook verbied. Want f-that-noise.

"Doubt—the concern that my views may not be entirely correct—is the true friend of wisdom and (along with empathy, to which it’s related) the greatest enemy of polarization." -- Václav Havel


Acties:
  • 0 Henk 'm!

  • Mugwump
  • Registratie: Mei 2017
  • Laatst online: 21:19
.oisyn schreef op maandag 27 mei 2024 @ 10:42:
Oh wilt u een bericht sturen? Dat kan heel makkelijk via onze site. Oh, maar u wilt iets pasten in uw bericht? Dat kan op zich, al staan we dat niet toe ALS ER ENTERS IN HET CLIPBOARD STAAN. #^@#$#!^@$%

/uwv-rant

Ik vraag me serieus af of ze het doen om je te pesten. "Beter ga je gewoon werken dan dat je met onze onzin moet dealen".
De UWV-site is gewoon een verkapt opleidingstraject tot ICT'er. :p

"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim" - Edsger Dijkstra


Acties:
  • +2 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Het zijn returns :+ Technisch gezien voegt een "return" een nieuwe regel toe aan wat je hebt ingetypt, en een "enter" voert in wat je hebt ingetypt. In bijvoorbeeld het Terminal/DOS tijdperk ging je met de enter toets verder (naar bijv. het volgende veld) en in web-formulieren werkt het vaak als submit, en met Return kreeg je een nieuwe regel in hetzelfde veld. Tegenwoordig wordt het allemaal door elkaar gebruikt, en vaak dezelfde toets op een toetsenbord. Al kun je, afhankelijk van de applicatie, met ctrl/shift/alt het gedrag van de toets van Enter naar Return veranderen, of andersom.

Maar: als er een ↵ op je toets staat is het eigenlijk een Return en geen Enter (⌅).

Acties:
  • 0 Henk 'm!

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:30
ThomasG schreef op dinsdag 28 mei 2024 @ 10:55:
[...]
Het zijn returns :+ Technisch gezien voegt een "return" een nieuwe regel toe aan wat je hebt ingetypt, en een "enter" voert in wat je hebt ingetypt. In bijvoorbeeld het Terminal/DOS tijdperk ging je met de enter toets verder (naar bijv. het volgende veld) en in web-formulieren werkt het vaak als submit, en met Return kreeg je een nieuwe regel in hetzelfde veld. Tegenwoordig wordt het allemaal door elkaar gebruikt, en vaak dezelfde toets op een toetsenbord. Al kun je, afhankelijk van de applicatie, met ctrl/shift/alt het gedrag van de toets van Enter naar Return veranderen, of andersom.

Maar: als er een ↵ op je toets staat is het eigenlijk een Return en geen Enter (⌅).
Nee, het is een carriage return én een line feed, en geen "return". Want als je terug gaat naar typemachines dan zorgt de carriage return ervoor dat je weer links typed (maar over de huidige regel heen) en de line feed dat het papier "door schuift" (/verder draait) zodat je op een volgende regel typt. Vandaar dus ook de \r\n die beide "acties" uitdrukt.

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
RobertMe schreef op dinsdag 28 mei 2024 @ 12:18:
[...]

Nee, het is een carriage return én een line feed, en geen "return". Want als je terug gaat naar typemachines dan zorgt de carriage return ervoor dat je weer links typed (maar over de huidige regel heen) en de line feed dat het papier "door schuift" (/verder draait) zodat je op een volgende regel typt. Vandaar dus ook de \r\n die beide "acties" uitdrukt.
De \r is inderdaad een carriage return, en de \n is een line-feed. Maar de toetsen op je toetsenbord zijn een Return en een Enter. De Enter-toets voegt geen nieuwe regel (hetzij \n or \r\n) toe, want dát doet de Return-toets. Waar het om ging: een nieuwe regel heet geen "enter".

[ Voor 3% gewijzigd door ThomasG op 28-05-2024 12:23 ]


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Eigenlijk zei ik alles al, met slechts 10 worden totaal. Maar je kan het idd ingewikkelder maken door als referentie een specifiek DOS- en keyboardtijdperk erbij te halen. :>

Dan nog was de klacht van .oisyn dat UWV over die specifieke bytes valt. Sites weten gelukkig niet of er ‘enter’ of ‘return’ als opschrift op het toetsenbord staat.

{signature}


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
Voutloos schreef op dinsdag 28 mei 2024 @ 12:28:
Eigenlijk zei ik alles al, met slechts 10 worden totaal. Maar je kan het idd ingewikkelder maken door als referentie een specifiek DOS- en keyboardtijdperk erbij te halen. :>

Dan nog was de klacht van .oisyn dat UWV over die specifieke bytes valt. Sites weten gelukkig niet of er ‘enter’ of ‘return’ als opschrift op het toetsenbord staat.
Volgens mij is het systeem van de UWV geschreven in COBOL met een custom character encoding om bytes te besparen, en daar zitten in ieder geval geen +, \t, \r en \n in :+

Acties:
  • 0 Henk 'm!

  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 16-09 13:43
ThomasG schreef op dinsdag 28 mei 2024 @ 12:35:
[...]
Volgens mij is het systeem van de UWV geschreven in COBOL met een custom character encoding om bytes te besparen, en daar zitten in ieder geval geen +, \t, \r en \n in :+
Of er zit een web application firewall tussen die van alles denkt dat het een aanval is |:(

Acties:
  • 0 Henk 'm!

  • RagingPenguin
  • Registratie: December 2012
  • Niet online
SiErRa schreef op dinsdag 28 mei 2024 @ 12:47:
[...]

Of er zit een web application firewall tussen die van alles denkt dat het een aanval is |:(
Of gewoon een domme validatie check omdat iemand hoog in de boom een set aan regels in een excelsheet heeft gezet met wat er aan input validatie moet gebeuren, en die dan letterlijk geimplementeerd zijn zonder na te denken ;(

Als dit soort overheidsinstanties van iets wel te veel hebben dan is het wel 'belangrijke' mensen die de hele dag lullen over werk zonder ooit daadwerkelijk werk te verzetten.

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Laatst online: 23:19
RagingPenguin schreef op dinsdag 28 mei 2024 @ 13:17:
[...]


Of gewoon een domme validatie check omdat iemand hoog in de boom een set aan regels in een excelsheet heeft gezet met wat er aan input validatie moet gebeuren, en die dan letterlijk geimplementeerd zijn zonder na te denken ;(

Als dit soort overheidsinstanties van iets wel te veel hebben dan is het wel 'belangrijke' mensen die de hele dag lullen over werk zonder ooit daadwerkelijk werk te verzetten.
Members only:
Alleen zichtbaar voor ingelogde gebruikers. Inloggen

Acties:
  • +2 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 01:04

.oisyn

Moderator Devschuur®

Demotivational Speaker

Hoi en welkom bij de volgende editie van mijn UWV-rant-blog hier in de devschuur coffee corner :+

Ik zit dus nu in een teams meeting voor een welkomstbijeenkomst. Dan kun je dus eventueel vragen stellen via de chat. Ware het niet dat ze vergeten zijn de chat toe te staan voor gasten, dus niemand ziet die chat.

"Ik zie dat er nog steeds geen vragen zijn. Dan gaan we gewoon lekker verder! Schroom niet om vooral vragen te stellen via de chat"

|:(

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1 ... 38 ... 48 Laatste

Let op:
Dit topic is niet de plaats om te lopen helpdesken. De Coffee Corner is primair bedoeld als uitlaatklep voor iedereen in de Devschuur® en niet als vraagbaak.