Vraag


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Beste Tweakers,

Ik heb totaal geen ervaring met software-ontwikkeling, maar wil heel graag in mijn vrije tijd hobbymatig software voor gebruik op de PC leren maken. Gezien gebrek aan alle kennis met betrekking tot software-onwikkeling verwacht ik dat ik enkele tientallen jaren nodig zal hebben om genoeg kennis te hebben.

Het gaat allerminst om dat ik de software per sé nodig heb voor gebruik, maar het is meer om te bepalen welke tools ik me wil gaan aanleren om te voorkomen dat ik dingen ga leren die irrelevant zijn, want waarschijnlijk zal de hoop stof die ik door zal moeten al een hele hoop zijn.

Er is totaal geen haast. Misschien ligt het me ook niet, maar omdat het voor de hobby is, verlies ik er ook niks mee. Ik hoop er mijn hersens mee actief te kunnen houden door iets wat me interesseert.

Ik heb een paar ideeën over de soort programma's die ik graag wil gaan bouwen:

- kasboekje. De al verkrijgbare programma's die ik ben tegengekomen missen bepaalde features die ik graag wil hebben. Ik wil via internetbankieren een csv-bestand importeren (of automatisch laten importeren indien dat mogelijk is) en dan de inkomsten en uitgaven handmatig indelen op categorieën. Dat is wel iets wat met de verkrijgbare software al kan. Wat ik daarnaast wil gaan doen is ervoor zorgen dat er maandelijks een bedrag voor bepaalde uitgaven automatisch wordt gereserveerd en wanneer er een uitgave (of een afschrijving is) is dat de reservering met dit bedrag wordt verminderd. Sommige uitgaven zijn namelijk 4 keer per jaar, andere 8 keer per jaar en sommige (nieuwe wasmachine bijvoorbeeld) incidenteel.
- tijdsplanning. Ik wil graag mijn week met visuele blokken bij welke de kleinste eenheid 5 minuten is kunnen inplannen. De blokken dienen met de muis van grootte veranderd te kunnen worden en met de muis versleept. De blokken dienen ook met de muis van kleur veranderd te kunnen worden.
- voedingsprogramma. Ik wil graag (voor zover toegestaan) met het programma een voedingsschema opstellen en dan kunnen zien wat de som is per voedingsschema van van alle beschikbare nutriënten zoals beschikbaar in het Nederlands Voedingsstoffenbestand (https://nevo-online.rivm.nl/ProductenZoeken.aspx). Daarnaast wil ik ook handmatig voedingsmiddelen kunnen toevoegen aan het programma met hun nutriënten voor die voedingsmiddelen die ontbreken in het Nederlands Voedinstoffenbestand. Daarnaast wil ik ook een visuele weergave in de vorm van een staafdiagram zien, waarin te of de som van de micronutriënten valt binnen de streefwaarde.

Ik ben benieuwd per programma benieuwd naar de volgende dingen:
1. welke softwareskills heb ik nodig (of dat HMTL, CSS, welke programmeertaal, welke scrippttaal, alle andere dingen)
2. de volgorde van het leren van de softwareskills
3. hoeveel manuur er nodig is om het programma te maken (voor bijvoorbeeld iemand met gemiddelde ervaring)

Ik ben overigens een paar maanden geleden begonnen met het leren van de concepten van het programmeren met [C] als oefening voor mijn hersens, maar heb hier verder geen tools mee gemaakt. Ik ga er ook niet vanuit dat C ook niet direct relevant is voor de programma's die ik hierboven beschreven heb.

Ik hoop dat jullie me op weg kunnen helpen. Mocht je aanvullende vragen hebben om de vragen te beantwoorden, dan hoor ik die graag. Wanneer je meer informatie nodig hebt, laat dan het me even weten.

Mijn dank alvast!

Alle reacties


Acties:
  • +1 Henk 'm!

  • retoohs
  • Registratie: April 2019
  • Laatst online: 23:19
1/2. Dat kan met veel verschillende talen. Als je iets web-based gaat bouwen dan is het meest gangbare om HTML, CSS en Javascript te gebruiken voor de interface, je zou daar dus mee kunnen beginnen. Verder is Python vrij vriendelijk voor beginners. Gaanderweg kan je dan ontdekken wat je nog meer kan gebruiken. Ik kan hier wel een lijst met libraries, tooling, technieken en talen opsommen die handig zijn maar veel dingen zijn pas later van toepassing. Als beginner wil je niet verdrinken in teveel informatie. Als je een stukje verder bent dan zou ik weer bij een community of een kennis met vakervaring vragen wat handig is om te leren.

3. Dit is een beetje zoals de vraag, hoeveel manuren kost het om een huis te bouwen? Je krijgt dan wedervragen zoals:
Hoe groot moet het huis worden? Welke materialen en bouwtechnieken worden er gebruikt? Wat voor fundering moet er komen? Welke specialisten gaan hier aan werken? etc.

Als zelfstuderende beginner kan het wel echt lang duren voordat je iets hebt waar je als eigen tevreden mee bent. Dat gaat alleen lukken als de activiteit van software bouwen minstens net zoveel voldoening geeft als het resultaat.
Ik denk dat het wel een stuk sneller kan gaan als je fancy interface dingen zoals drag & drop voor nu even van je wensenlijst schrapt.

Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Thanks voor je antwoord, retoohs! Dat waardeer ik zeer.

Het is echt geen probleem als het niet snel gaat of als het niet heel makkelijk is. Ik ben juist op zoek naar zoveel mogelijk informatie vooraf voor mijn eigen overzicht, maar zal dit uiteraard doseren.
Als je iets web-based gaat bouwen dan is het meest gangbare om HTML, CSS en Javascript te gebruiken voor de interface, je zou daar dus mee kunnen beginnen.
Stel dat het geen webbased applicatie zou worden, maar een programma voor op de PC. Wat wordt het in dat geval?
Verder is Python vrij vriendelijk voor beginners
Na wat onderzoek vooraf zou ik het liefst geen Python willen gebruiken (ook al is het een webapplicatie) juist omdat die gemakkelijk is. Door juist te beginnen met een moeilijkere taal kan ik later juist makkelijker op een andere overstappen in plaats van andersom. Klopt het dat ik dan het beste met Java kan beginnen?
Ik kan hier wel een lijst met libraries, tooling, technieken en talen opsommen die handig zijn maar veel dingen zijn pas later van toepassing.
Oh, vertel juist! Ook ben ik er nog niet klaar voor zou ik dankbaar zijn voor zoveel mogelijk informatie!
3. Dit is een beetje zoals de vraag, hoeveel manuren kost het om een huis te bouwen? Je krijgt dan wedervragen zoals:
Hoe groot moet het huis worden? Welke materialen en bouwtechnieken worden er gebruikt? Wat voor fundering moet er komen? Welke specialisten gaan hier aan werken? etc.
Oké, stel dat je software zou gaat bouwen waar jij persoonlijk mee tevreden zou zijn qua mogelijkheden. Wat schat je dan in qua benodigde tijd voor iemand met gemiddelde ervaring?

Acties:
  • +1 Henk 'm!

  • retoohs
  • Registratie: April 2019
  • Laatst online: 23:19
Letsdothis schreef op woensdag 16 juni 2021 @ 17:38:
Stel dat het geen webbased applicatie zou worden, maar een programma voor op de PC. Wat wordt het in dat geval?
Ik zou dan naar Java of C# kijken en opzoeken welke frameworks goed zijn voor desktop applicaties.
Na wat onderzoek vooraf zou ik het liefst geen Python willen gebruiken (ook al is het een webapplicatie) juist omdat die gemakkelijk is. Door juist te beginnen met een moeilijkere taal kan ik later juist makkelijker op een andere overstappen in plaats van andersom. Klopt het dat ik dan het beste met Java kan beginnen?
Java of C# is prima
Oh, vertel juist! Ook ben ik er nog niet klaar voor zou ik dankbaar zijn voor zoveel mogelijk informatie!
Het hangt ook weer erg af van wat je doel is. Wanneer je voorbij de basis bent zou ik verder gaan met OOP concepten en daarna een desktop framework leren (gezien dat je doel is). Daarna clean code principles en design patterns. Git is erg handig. Een goede IDE leren gaat je veel gemak opleveren.
Oké, stel dat je software zou gaat bouwen waar jij persoonlijk mee tevreden zou zijn qua mogelijkheden. Wat schat je dan in qua benodigde tijd voor iemand met gemiddelde ervaring?
Deze vraagstelling is veelste vaag voor een concreet antwoord. Ik denk ook niet dat het belangrijk is voor een hobbyproject.

Acties:
  • +4 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Je maakt het jezelf veel lastiger dan het is. Er zijn genoeg cursussen. Voorbeeld: https://www.theodinproject.com/ of https://www.freecodecamp.org/. Beiden zijn gratis en leren je webapplicaties bouwen.

Taal e.d. maken weinig uit. Volg gewoon wat ze in een dergelijke cursus gebruiken.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Ik zou dan naar Java of C# kijken en opzoeken welke frameworks goed zijn voor desktop applicaties.
Wanneer je voorbij de basis bent zou ik verder gaan met OOP concepten en daarna een desktop framework leren (gezien dat je doel is). Daarna clean code principles en design patterns. Git is erg handig. Een goede IDE leren gaat je veel gemak opleveren.
Oké, thanks voor je hulp! Hier kan ik zeker wat mee!
Een goede IDE leren gaat je veel gemak opleveren.
Momenteel gebruik ik Visual Studio Code voor [C]. Mocht een andere beter zijn hiervoor of voor de dingen die je noemde, laat dan het me weten!

Acties:
  • +1 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Hydra, thanks voor je antwoord. Ik heb wat posts van je gelezen op het forum en heb een hoge pet van je, dus al je advies neem ik ter harte.
Je maakt het jezelf veel lastiger dan het is. Er zijn genoeg cursussen. Voorbeeld: https://www.theodinproject.com/ of https://www.freecodecamp.org/. Beiden zijn gratis en leren je webapplicaties bouwen.
Taal e.d. maken weinig uit. Volg gewoon wat ze in een dergelijke cursus gebruiken.
Lijkt er dus op dat software voor op de desktop geen meerwaarde heeft bovenop een webapplicatie, dus ik zal daar eens in duiken.

Het is verbazingwekkend hoeveel er nagenoeg gratis beschikbaar is. Ik heb me aangemeld op udacity.com en udema.com, maar zal zeker ook op https://www.theodinproject.com en https://www.freecodecamp.org kijken. Thanks!

Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Letsdothis schreef op woensdag 16 juni 2021 @ 20:43:
Lijkt er dus op dat software voor op de desktop geen meerwaarde heeft bovenop een webapplicatie, dus ik zal daar eens in duiken.
Voor dit soort zaken niet echt nee. Daarbij is er voor desktop develpment gewoon veel minder te vinden kwa lesmateriaal. Succes!

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Hydra schreef op woensdag 16 juni 2021 @ 20:48:
[...]


Voor dit soort zaken niet echt nee. Daarbij is er voor desktop develpment gewoon veel minder te vinden kwa lesmateriaal. Succes!
Thanks nogmaals, Hydra.

Toch even voor mijn eigen begrip: aan welk soort programma's moet je denken bij desktopsoftware en welke andere tools dan bij webapplicaties komen er dan om de hoek kijken?

Is niet voor het doel wat ik nu voor ogen heb, maar ik ben aan het kijken welke overlap en welke verschillen er zijn. Maakt de taal dan ook niet uit of zou je dan wel een bepaalde richting op sturen?

Acties:
  • +2 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op woensdag 16 juni 2021 @ 20:56:
[...]
Toch even voor mijn eigen begrip: aan welk soort programma's moet je denken bij desktopsoftware en welke andere tools dan bij webapplicaties komen er dan om de hoek kijken?
Die grens vervaagt steeds meer, omdat je tegenwoordig echt veel dingen met webapplicaties kunt.

Maar bij desktopsoftware denk ik aan grafische bewerkingsprogramma's, DAW software, etc. Complexe software die veel lokale rekenkracht en schijfruimte nodig heeft. Of software die direct met randapparatuur communiceert.

Bijna al het andere kan met web applicaties :)

En vaak wil je ook graag dat je een applicatie vanaf allerlei verschillende locaties en devices kunt benaderen. Zodat je voor dat kasboekje niet per se achter de computer hoeft te kruipen, maar het ook gewoon even vanaf een telefoon of tablet kunt beheren bijvoorbeeld :)

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


Acties:
  • +2 Henk 'm!

  • retoohs
  • Registratie: April 2019
  • Laatst online: 23:19
Letsdothis schreef op woensdag 16 juni 2021 @ 20:56:
[...]
Toch even voor mijn eigen begrip: aan welk soort programma's moet je denken bij desktopsoftware en welke andere tools dan bij webapplicaties komen er dan om de hoek kijken?
Software is zoveel mogelijk webbased geworden. Je hebt dan een centrale applicatie draaien die door iedereen gebruikt kan worden, ongeacht het type toestel. De gebruiker hoeft niks te installeren en up to date te houden.
Desktop software wordt gebruikt voor applicaties die veel geheugen en rekenkracht eisen. Die wil je juist wel weer gedistribueerd hebben naar je gebruikers zodat ze lokale resources gebruiken.

Wat je voor een hobby project wilt gebruiken moet je helemaal zelf weten natuurlijk. Ik ben het er wel mee eens dat er een stuk minder lesmateriaal is gericht op desktop. Het is ook niet zo makkelijk om je software te delen met andere.

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op woensdag 16 juni 2021 @ 17:38:
Na wat onderzoek vooraf zou ik het liefst geen Python willen gebruiken (ook al is het een webapplicatie) juist omdat die gemakkelijk is. Door juist te beginnen met een moeilijkere taal kan ik later juist makkelijker op een andere overstappen in plaats van andersom. Klopt het dat ik dan het beste met Java kan beginnen?
De beschikbare API's / libraries bepalen grotendeels hoe eenvoudig of moeilijk je het zal vinden om iets voor elkaar te krijgen.

Het voordeel van Java en C# is dat je die talen voor heel veel verschillende projecten kunt gebruiken, omdat er gigantisch veel libraries en frameworks voor zijn.

Met Python kom je als beginner ook een heel eind.

Maar het overstappen van taal zal dus altijd lastig / wennen zijn, omdat je dan simpelweg met andere libraries te maken krijgt. Daarom is het eigenlijk ook belangrijker om de concepten te begrijpen. Maar ik zou mij er in het absolute begin even niet te druk om maken en er gewoon mee gaan spelen.

Kies iets en probeer dat vol te houden.

C is echter old skool :P En ik zou dus voor een moderne general purpose taal kiezen (Java, C#, en voor een beginner toch ook Python). Python heeft als voordeel dat je (net zoals vroeger met BASIC) direct aan de slag kunt zonder al teveel clutter.
Python:
1
print('Hello world!')

In plaats van:
C#:
1
2
3
4
5
6
7
8
9
namespace HelloWorld
{
    class Hello {         
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}

En ik ben echt een fan van C# hoor (dat gebruik ik op mijn werk) :) Maar als ik deze voorbeelden aan mijn vrouw laat zien, snapt ze de Python code veel sneller. Dus Python is misschien handiger om de absolute basis mee te leren.

[ Voor 13% gewijzigd door Lethalis op 16-06-2021 21:46 ]

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Wow, echt blij met jullie hulp.

Waarom ik ook zou willen weten wat er voor desktopapplicaties nodig is, welke overlap en welke verschillen er zijn met met webapplicaties is, is om in de toekomst te kunnen switchen mocht ik dat willen of mocht de hobby uit de hand lopen ...

Ik zal namelijk gaandeweg dingen ontdekken waar ik nu nog geen weet van heb. De Unknown unknown's.
Lethalis schreef op woensdag 16 juni 2021 @ 21:21:
[...]

Die grens vervaagt steeds meer, omdat je tegenwoordig echt veel dingen met webapplicaties kunt.

Maar bij desktopsoftware denk ik aan grafische bewerkingsprogramma's, DAW software, etc. Complexe software die veel lokale rekenkracht en schijfruimte nodig heeft. Of software die direct met randapparatuur communiceert.
Nice! Welke taal zou in deze gevallen bijvoorbeeld het meest voor de hand liggen, geen rekening houdend met het beginnerzijn?

Klopt het dat software die direct met randapparatuur communiceert IoT is?
Lethalis schreef op woensdag 16 juni 2021 @ 21:21:
[...]
Bijna al het andere kan met web applicaties :)
Ongelooflijk.
Lethalis schreef op woensdag 16 juni 2021 @ 21:21:
[...]
En vaak wil je ook graag dat je een applicatie vanaf allerlei verschillende locaties en devices kunt benaderen. Zodat je voor dat kasboekje niet per se achter de computer hoeft te kruipen, maar het ook gewoon even vanaf een telefoon of tablet kunt beheren bijvoorbeeld :)
Ik word steeds enthousiaster, dus noem gerust zo veel mogelijk welke aanvullende tools daarbij nog om de hoek komen die nog niet genoemd zijn.

Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
retoohs schreef op woensdag 16 juni 2021 @ 21:26:
[...]

Software is zoveel mogelijk webbased geworden. Je hebt dan een centrale applicatie draaien die door iedereen gebruikt kan worden, ongeacht het type toestel. De gebruiker hoeft niks te installeren en up to date te houden.
Desktop software wordt gebruikt voor applicaties die veel geheugen en rekenkracht eisen. Die wil je juist wel weer gedistribueerd hebben naar je gebruikers zodat ze lokale resources gebruiken.

Wat je voor een hobby project wilt gebruiken moet je helemaal zelf weten natuurlijk. Ik ben het er wel mee eens dat er een stuk minder lesmateriaal is gericht op desktop. Het is ook niet zo makkelijk om je software te delen met andere.
Waarom ik ook zou willen weten wat er voor desktopapplicaties nodig is, welke overlap en welke verschillen er zijn met met webapplicaties is om in de toekomst te kunnen switchen mocht ik dat willen of mocht de hobby uit de hand lopen ...

Ik zal namelijk gaandeweg dingen ontdekken waar ik nu nog geen weet van heb. [i]Unknown unknown's

Aan lesmateriaal zal ik waarschijnlijk via via kunnen komen via studenten HBO Software Engineering.

Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Lethalis schreef op woensdag 16 juni 2021 @ 21:38:
[...]

De beschikbare API's / libraries bepalen grotendeels hoe eenvoudig of moeilijk je het zal vinden om iets voor elkaar te krijgen.

Het voordeel van Java en C# is dat je die talen voor heel veel verschillende projecten kunt gebruiken, omdat er gigantisch veel libraries en frameworks voor zijn.

Met Python kom je als beginner ook een heel eind.

Maar het overstappen van taal zal dus altijd lastig / wennen zijn, omdat je dan simpelweg met andere libraries te maken krijgt. Daarom is het eigenlijk ook belangrijker om de concepten te begrijpen. Maar ik zou mij er in het absolute begin even niet te druk om maken en er gewoon mee gaan spelen.
Is het overstappen van Python naar Java of C# moeilijk of is ook het overstappen tussen van Java naar C# en vice versa even moeilijk als van Python naar Java / C#?

Als je zou moeten kiezen tussen Java en C# zonder rekening te houden met de moeilijkheidsgraad, welke zou je dan aanraden puur voor de skills?
Lethalis schreef op woensdag 16 juni 2021 @ 21:38:
[...]
Kies iets en probeer dat vol te houden.
Ik heb er helemaal zin in.
Lethalis schreef op woensdag 16 juni 2021 @ 21:38:
[...]
C is echter old skool :P En ik zou dus voor een moderne general purpose taal kiezen (Java, C#, en voor een beginner toch ook Python). Python heeft als voordeel dat je (net zoals vroeger met BASIC) direct aan de slag kunt zonder al teveel clutter.
Nou, ik ben zelf ook een beetje old skool. 😇

Gekkigheid, ik heb met opzet [C] gekozen om in ieder geval met een taal iets te doen die meer low level is dan Python en Java om juist minder moeite zou hebben met het overstappen. Enige wat ik jammer vind aan [C] vind is dat het geen objectgeorieenteerde taal is. Wat dat betreft was ik misschien zelfs met C++ begonnen, ook al had ik die niet kunnen gebruiken voor de software voor de mijn huidige doeleinden.
Lethalis schreef op woensdag 16 juni 2021 @ 21:38:
[...]
Python:
1
print('Hello world!')

In plaats van:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
namespace HelloWorld
{
    class Hello {         
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}
[/quote]

Wow, Python schrikt me hierdoor juíst af. 😇 Natuurlijk zijn de andere concepten dan [i]Hello world[/i] veel uitdagender, maar het verschil lijkt me te groot om zo makkelijk te beginnnen, ook al ben ik een beginner.  

En ik ben echt een fan van C# hoor (dat gebruik ik op mijn werk) :) Maar als ik deze voorbeelden aan mijn vrouw laat zien, snapt ze de Python code veel sneller. Dus Python is misschien handiger om de absolute basis mee te leren.
Nou, ik hou voor alle zekerheid mijn vrouw erbuiten. 😇

Acties:
  • 0 Henk 'm!

  • perform93
  • Registratie: Oktober 2016
  • Laatst online: 05-09 10:48
Tegenwoordig gebeuren veel ontwikkelingen in de cloud i.p.v. een eigen server in een datacenter of lokaal geïnstalleerd. Daar kan je heel makkelijk opschalen en afschalen, verschillende clouddiensten benutten als je nog iets nodig hebt, etc. etc. Ik zou daarom zelf meer neigen hoe je een goeie webapplicatie kan bouwen.

Acties:
  • 0 Henk 'm!

  • perform93
  • Registratie: Oktober 2016
  • Laatst online: 05-09 10:48
Letsdothis schreef op woensdag 16 juni 2021 @ 23:01:
[...]


Is het overstappen van Python naar Java of C# moeilijk of is ook het overstappen tussen van Java naar C# en vice versa even moeilijk als van Python naar Java / C#?

Als je zou moeten kiezen tussen Java en C# zonder rekening te houden met de moeilijkheidsgraad, welke zou je dan aanraden puur voor de skills?


[...]


Ik heb er helemaal zin in.


[...]


Nou, ik ben zelf ook een beetje old skool. 😇

Gekkigheid, ik heb met opzet [C] gekozen om in ieder geval met een taal iets te doen die meer low level is dan Python en Java om juist minder moeite zou hebben met het overstappen. Enige wat ik jammer vind aan [C] vind is dat het geen objectgeorieenteerde taal is. Wat dat betreft was ik misschien zelfs met C++ begonnen, ook al had ik die niet kunnen gebruiken voor de software voor de mijn huidige doeleinden.


[...]


Nou, ik hou voor alle zekerheid mijn vrouw erbuiten. 😇
Ik zou nu niet zo snel denken aan overstappen van talen. Kies een taal en probeer daar eerst ver in te komen. Op zich heeft Java ook al een best redelijk instapniveau voor beginners.

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Letsdothis schreef op woensdag 16 juni 2021 @ 20:56:
[...]


Thanks nogmaals, Hydra.

Toch even voor mijn eigen begrip: aan welk soort programma's moet je denken bij desktopsoftware en welke andere tools dan bij webapplicaties komen er dan om de hoek kijken?

Is niet voor het doel wat ik nu voor ogen heb, maar ik ben aan het kijken welke overlap en welke verschillen er zijn. Maakt de taal dan ook niet uit of zou je dan wel een bepaalde richting op sturen?
Je loopt te hard van stapel. Voordat je enigzins een simpele webapp in elkaar kan zetten ben je zo 6 maanden verder. Tegen die tijd weet je veel meer en heb je veel meer perspectief. Nu al teveel nadenken over dat soort zaken leidt alleen maar tot 'analysis paralysis'. Je zal niet de enige zijn die vastloopt doordat 'ie constant tools en talen switched.

Een andere taal oppakken als je eenmaal goed je eerste programmeerskills onder de knie hebt, is relatief simpel. Het 'snappen' van hoe programmeren werkt is het lastige stuk.

Kwa software verschuift het gewoon steeds meer naar het web. Er zijn niet zo veel dingen meer die 'beter' werken als desktop applicatie. Daarbij zie je ook vaak dat frameworks zoals Electron gebruikt worden om een 'webapplicatie' als desktop app te laten installeren.Slack is een goed voorbeeld hiervan. Maar je ziet hier al dat het veel te diep gaat; ga eerst gewoon dingen maken.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Letsdothis schreef op woensdag 16 juni 2021 @ 23:01:
Is het overstappen van Python naar Java of C# moeilijk of is ook het overstappen tussen van Java naar C# en vice versa even moeilijk als van Python naar Java / C#?

Als je zou moeten kiezen tussen Java en C# zonder rekening te houden met de moeilijkheidsgraad, welke zou je dan aanraden puur voor de skills?
Als het overstappen niet simpel is, ben je gewoon nog niet ver genoeg. Het is niet moelijk om een andere programmeertaal te leren over het algemeen. Helemaal als die talen dezelfde 'paradigmas' aan hangen. Je zou hoogstens bij het selecteren van een taal rekening kunnen houden met het aantal banen. Maar da's voor jou gewoon niet relevant.

Het enige wat relevant is, is dat je lol hebt en vooruit gaat. Dat is vooral waar jij op moet focussen. Als het niet leuk is, ga je er waarschijnlijk niet de energie voor opbrengen.
Gekkigheid, ik heb met opzet [C] gekozen om in ieder geval met een taal iets te doen die meer low level is dan Python en Java om juist minder moeite zou hebben met het overstappen. Enige wat ik jammer vind aan [C] vind is dat het geen objectgeorieenteerde taal is. Wat dat betreft was ik misschien zelfs met C++ begonnen, ook al had ik die niet kunnen gebruiken voor de software voor de mijn huidige doeleinden.
Je mag doen wat je wil, maar C en C++ zijn gewoon een stukje complexer.

https://niels.nu


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op woensdag 16 juni 2021 @ 23:01:
[...]
Is het overstappen van Python naar Java of C# moeilijk of is ook het overstappen tussen van Java naar C# en vice versa even moeilijk als van Python naar Java / C#?

Als je zou moeten kiezen tussen Java en C# zonder rekening te houden met de moeilijkheidsgraad, welke zou je dan aanraden puur voor de skills?
Tsja, mijn persoonlijke insteek is dat ik tussen deze talen kies op basis van wat ik wil maken. Qua marktwaarde zit je met Java en C# van oudsher goed.

Python is ook in opkomst. Zelf gebruik ik Python voornamelijk voor scripts, en Java en C# als ik een complexer programma wil maken. Dit heeft vooral te maken met de typing. Ik hou ervan als een taal statically typed is en alles dus een duidelijke interface heeft.

Je hebt in Python wel type hints, maar het komt qua type safety niet in de buurt van Java en C#.

Dus als moeilijkheidsgraad je niet boeit, zou ik voor Java of C# kiezen. Vroeger had Java dan nog het grote voordeel cross platform te zijn, maar met .Net 5 is dat voor C# ook geen probleem meer (voor web development).

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


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op woensdag 16 juni 2021 @ 23:01:
[...]
Nou, ik hou voor alle zekerheid mijn vrouw erbuiten. 😇
Ik heb heel lang geleden (30 jaar geleden _O- ) programmeren geleerd met Power BASIC. En ik denk dat het mij geholpen heeft om later C/C++ en daarna ook andere talen te leren.

Ook op de hogeschool krijg je vaak eerst een eenvoudigere taal. In mijn tijd was dat Pascal / Delphi, tegenwoordig is Python daarvoor geschikt.

Het helpt gewoon om simpel te beginnen, zodat je er ook eerder voldoening uit haalt dat je iets werkend hebt gekregen. En zo jezelf steeds meer leert.

Terwijl als je meteen met het moeilijke begint, je gauw vast kan lopen en dat is zonde.

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


Acties:
  • +1 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Guys, ik ben jullie heel erg dankbaar voor dit advies. Het helpt mij enorm.

Ik kom later nog terug op je posts. Nogmaals, grote dank!

Acties:
  • +1 Henk 'm!

  • retoohs
  • Registratie: April 2019
  • Laatst online: 23:19
Het is wel een bekende valkuil om eindeloos stil te staan bij een eerste taal keuze. Vaak gaat dit gepaard met het te vroegtijdig overstappen naar een andere taal. Dit kan een enorme leervertraging opleveren. Nu al nadenken overstappen van taal y naar taal x is echt zinloos.
Letsdothis schreef op woensdag 16 juni 2021 @ 23:01:
Is het overstappen van Python naar Java of C# moeilijk of is ook het overstappen tussen van Java naar C# en vice versa even moeilijk als van Python naar Java / C#?
Er is niet echt een goede reden om een switch te maken tussen Java en C#. Tenzei je op een project gezet wordt waar een andere taal gebruikt wordt (voor jou dus niet aan de orde).
Ik zou Python kiezen als je de leercurve wat vriendelijker wil houden en anders Java of C#. Met die talen kan je vanalles.

Zorg dat je daar goed mee leert programmeren. Ga niet proberen om alle randzaken tegelijk ook te leren want het is echt heel veel. Ik zou me hier op concentreren:
- Basis van een taal leren
- Klein projectje maken met wat je geleerd hebt.
- OOP leren
- Klein projectje maken met wat je geleerd hebt.
- Framework leren
- Klein projectje maken met wat je geleerd hebt.
- Concepten leren zoals clean code, design patterns, applicatie / database ontwerp

Het enige wat ik er in het begin bij zou doen is een goede IDE leren gebruiken (tip: Jetbrains producten ;) ). In het begin lijkt het een beetje overkill en onnodig complex maar ik kan echt niet meer zonder.

Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Thanks voor je reactie, retoohs!

Ik zal er later op reageren!

Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Nogmaals, echt blij met jullie informatie.
perform93 schreef op donderdag 17 juni 2021 @ 00:23:
Ik zou nu niet zo snel denken aan overstappen van talen. Kies een taal en probeer daar eerst ver in te komen. Op zich heeft Java ook al een best redelijk instapniveau voor beginners.
Hydra schreef op donderdag 17 juni 2021 @ 08:58:
[...]
Je loopt te hard van stapel. Voordat je enigzins een simpele webapp in elkaar kan zetten ben je zo 6 maanden verder. Tegen die tijd weet je veel meer en heb je veel meer perspectief. Nu al teveel nadenken over dat soort zaken leidt alleen maar tot 'analysis paralysis'. Je zal niet de enige zijn die vastloopt doordat 'ie constant tools en talen switched.

Een andere taal oppakken als je eenmaal goed je eerste programmeerskills onder de knie hebt, is relatief simpel. Het 'snappen' van hoe programmeren werkt is het lastige stuk.
Ik snap wat jullie bedoelen. Ondanks het feit dat ik al had ingeschat dat ik met [C] de dingen niet zou kunnen bouwen die ik voor ogen heb ben ik toch met [C] begonnen puur voor de skills. De bedoeling was ook allerminst om te switchen van taal. Mijn opzet was om de taal [C] eerst helemaal "uit te melken" en daarna pas één taal die wel relevant zou zijn te beginnen, ook dan zonder te switchen. Dat zou dan veel gemakkelijker zijn dan als ik bijvoorbeeld met Python was begonnen. Daarna wilde ik pás overgaan tot de rest.

Tenzij jullie nú al aanraden om te stoppen met [C].
Hydra schreef op donderdag 17 juni 2021 @ 08:58:
[...]
Als het overstappen niet simpel is, ben je gewoon nog niet ver genoeg. Het is niet moelijk om een andere programmeertaal te leren over het algemeen. Helemaal als die talen dezelfde 'paradigmas' aan hangen. Je zou hoogstens bij het selecteren van een taal rekening kunnen houden met het aantal banen. Maar da's voor jou gewoon niet relevant.
Nou, een andere reden om met [C] te beginnen die ik nog niet genoemd had was omdat ik rekening hield met de mogelijkheid om in de verre toekomst het beroepsmatig te doen, ook al is de kans niet groot dat het niet zal gebeuren. Mocht ik gaandeweg meer ontdekken en er meer interesse krijgen dan waar ik het nu voor ga doen zou ik me makkelijker kunnen laten omscholen.

Dus, stel dat ik rekening zou houden met het aantal banen, welke taal had ik dan anders kunnen nemen?
Hydra schreef op donderdag 17 juni 2021 @ 08:58:
Je mag doen wat je wil, maar C en C++ zijn gewoon een stukje complexer.
Duidelijk. Hydra, is dC# echt makkelijker dan C?

En laat ik het vragen: wat zou je aanraden? C# of Java?
Lethalis schreef op donderdag 17 juni 2021 @ 09:02:
[...]

Tsja, mijn persoonlijke insteek is dat ik tussen deze talen kies op basis van wat ik wil maken. Qua marktwaarde zit je met Java en C# van oudsher goed.

Python is ook in opkomst. Zelf gebruik ik Python voornamelijk voor scripts, en Java en C# als ik een complexer programma wil maken. Dit heeft vooral te maken met de typing. Ik hou ervan als een taal statically typed is en alles dus een duidelijke interface heeft.

Je hebt in Python wel type hints, maar het komt qua type safety niet in de buurt van Java en C#.

Dus als moeilijkheidsgraad je niet boeit, zou ik voor Java of C# kiezen. Vroeger had Java dan nog het grote voordeel cross platform te zijn, maar met .Net 5 is dat voor C# ook geen probleem meer (voor web development).
retoohs schreef op donderdag 17 juni 2021 @ 13:40:
Het is wel een bekende valkuil om eindeloos stil te staan bij een eerste taal keuze. Vaak gaat dit gepaard met het te vroegtijdig overstappen naar een andere taal. Dit kan een enorme leervertraging opleveren. Nu al nadenken overstappen van taal y naar taal x is echt zinloos.
Oké, duidelijk dus Java of C# en specifiek tussen deze twee?
Lethalis schreef op donderdag 17 juni 2021 @ 09:02:
Ik heb heel lang geleden (30 jaar geleden _O- ) programmeren geleerd met Power BASIC. En ik denk dat het mij geholpen heeft om later C/C++ en daarna ook andere talen te leren.

Ook op de hogeschool krijg je vaak eerst een eenvoudigere taal. In mijn tijd was dat Pascal / Delphi, tegenwoordig is Python daarvoor geschikt.

Het helpt gewoon om simpel te beginnen, zodat je er ook eerder voldoening uit haalt dat je iets werkend hebt gekregen. En zo jezelf steeds meer leert.

Terwijl als je meteen met het moeilijke begint, je gauw vast kan lopen en dat is zonde.
retoohs schreef op donderdag 17 juni 2021 @ 13:40:
Zorg dat je daar goed mee leert programmeren. Ga niet proberen om alle randzaken tegelijk ook te leren want het is echt heel veel. Ik zou me hier op concentreren:
- Basis van een taal leren
- Klein projectje maken met wat je geleerd hebt.
- OOP leren
- Klein projectje maken met wat je geleerd hebt.
- Framework leren
- Klein projectje maken met wat je geleerd hebt.
- Concepten leren zoals clean code, design patterns, applicatie / database ontwerp
Oké, dit ziet eruit als een heel mooi plan. Thanks!
retoohs schreef op donderdag 17 juni 2021 @ 13:40:
Het enige wat ik er in het begin bij zou doen is een goede IDE leren gebruiken (tip: Jetbrains producten ;) ). In het begin lijkt het een beetje overkill en onnodig complex maar ik kan echt niet meer zonder.
Ah, ik had Jetbrains gedwonload, maar ondervond een probleem. Ik weet niet meer welk … of dat hij niet gratis was of te complex. Klopt het dat jij deze verkiest boven Visual Studio Code?

Nogmaal, guys. Ik vraag misschien heel veel voor een beginner en misschien lijkt het alsof ik alles tegelijk wil, maar daar is echt geen sprake van. Ik zal de zaken eerst grondig één voor één aanpakken.

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
@Letsdothis C is simpelweg geen voor de hand liggende taal voor web development.

Het kan uiteraard wel met bijvoorbeeld CGI, maar 1 van de listige zaken is het controleren en parsen van de input die je krijgt.

Hoe ga jij voorkomen dat iemand jouw C programma onverwachte dingen laat doen? Je bent maar een buffer overflow van een kleine ramp verwijderd :P

Managed talen zoals Java en C# vangen heel veel zaken voor jou af, en de bijbehorende frameworks zoals Spring en ASP.Net hebben nog veel meer security features ingebouwd om bijvoorbeeld CSRF attacks tegen te gaan, maar ook voor authenticatie en autorisatie (session management etc).

In C moet je dan op laag niveau zelf met allerlei zaken rekening houden die je - zeker nu - nauwelijks kunt overzien.

Ook basale zaken als routing heb je bijvoorbeeld niet. Kan je dan allemaal zelf gaan knutselen.

[ Voor 6% gewijzigd door Lethalis op 18-06-2021 00:11 ]

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


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op donderdag 17 juni 2021 @ 21:03:
En laat ik het vragen: wat zou je aanraden? C# of Java?
Beide zijn prima en hebben hun sterke en zwakke punten.

Microsoft zet de laatste tijd veel stappen richting een open ecosysteem. .Net 5 werkt op Linux, Visual Studio Community Edition doet echt alles wat jij voorlopig nodig zal hebben (is eigenlijk een Pro voor privégebruik) en C# is een hele moderne taal.

Wat ik zelf tegelijkertijd lastig en gaaf vind aan Java is dat er gigantisch veel wegen naar Rome leiden. Het lastige is dat je sneller kunt verdwalen. Voor alles zijn er wel 10 libraries, welke zal je kiezen? De keuzestress kan verlammend werken.

Microsoft heeft wat meer een "we raden dit aan" methode. En dat heeft uiteraard ook nadelen... maar als je snel iets wil leren, is het wel fijn.

Maar goed, het kan ook persoonlijk zijn. Sommige mensen hebben gewoon iets tegen Microsoft en werken bijvoorbeeld graag met Linux of op een Mac. Tsja, dan kun je beter Java kiezen. Is simpelweg volwassener op die OS-en.

Dat de keuze tussen Java of C# lastig is, is ook een goed iets... you can't really go wrong with either.

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Lethalis schreef op vrijdag 18 juni 2021 @ 00:07:
@Letsdothis C is simpelweg geen voor de hand liggende taal voor web development.

Het kan uiteraard wel met bijvoorbeeld CGI, maar 1 van de listige zaken is het controleren en parsen van de input die je krijgt.

Hoe ga jij voorkomen dat iemand jouw C programma onverwachte dingen laat doen? Je bent maar een buffer overflow van een kleine ramp verwijderd :P

Managed talen zoals Java en C# vangen heel veel zaken voor jou af, en de bijbehorende frameworks zoals Spring en ASP.Net hebben nog veel meer security features ingebouwd om bijvoorbeeld CSRF attacks tegen te gaan, maar ook voor authenticatie en autorisatie (session management etc).

In C moet je dan op laag niveau zelf met allerlei zaken rekening houden die je - zeker nu - nauwelijks kunt overzien.

Ook basale zaken als routing heb je bijvoorbeeld niet. Kan je dan allemaal zelf gaan knutselen.
Oké, je hebt me helemaal over de streep om nu al over te stappen op Java of C#!
Lethalis schreef op vrijdag 18 juni 2021 @ 00:07:
@Letsdothis
Beide zijn prima en hebben hun sterke en zwakke punten.

Microsoft zet de laatste tijd veel stappen richting een open ecosysteem. .Net 5 werkt op Linux, Visual Studio Community Edition doet echt alles wat jij voorlopig nodig zal hebben (is eigenlijk een Pro voor privégebruik) en C# is een hele moderne taal.

Wat ik zelf tegelijkertijd lastig en gaaf vind aan Java is dat er gigantisch veel wegen naar Rome leiden. Het lastige is dat je sneller kunt verdwalen. Voor alles zijn er wel 10 libraries, welke zal je kiezen? De keuzestress kan verlammend werken.

Microsoft heeft wat meer een "we raden dit aan" methode. En dat heeft uiteraard ook nadelen... maar als je snel iets wil leren, is het wel fijn.

Maar goed, het kan ook persoonlijk zijn. Sommige mensen hebben gewoon iets tegen Microsoft en werken bijvoorbeeld graag met Linux of op een Mac. Tsja, dan kun je beter Java kiezen. Is simpelweg volwassener op die OS-en.

Dat de keuze tussen Java of C# lastig is, is ook een goed iets... you can't really go wrong with either.
Daar heb je helemaal gelijk in. Het lijkt meer een luxeprobleem. 😄 Ik zal nog goed over de keuze tussen één van deze twee nadenken en wanneer ik het zeker weet één kiezen en dan voor die helemaal gaan.

Je hebt me heel goed geholopen, thanks!

Wanneer je nog bepaalde tips hebt, laat het me gerust weten!

Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Letsdothis schreef op vrijdag 18 juni 2021 @ 06:48:
Oké, je hebt me helemaal over de streep om nu al over te stappen op Java of C#!
Het belangrijkste is dat je een 'cursus' volgt die leidt naar waar je zijn wil. En waar je zijn wil is bepaalde applicaties bouwen. De taal is daar eigenlijk compleet niet relevant. Ik heb je een hele tijd geleden al 2 cursussen getoond die gratis te volgen zijn.

Je kunt natuurlijk ook een taal pakken en daar dan een cursus bij proberen te zoeken, maar da's in jouw geval nogal de omgekeerde wereld.

Je wil een tafel kunnen maken, geen "hamers leren".

https://niels.nu


Acties:
  • +2 Henk 'm!

  • Poinsy
  • Registratie: September 2020
  • Laatst online: 19:57
Oké, duidelijk dus Java of C# en specifiek tussen deze twee?
Mocht je voor Java gaan dan zou je eens kunnen kijken naar deze cursus: https://java-programming.mooc.fi/

Acties:
  • +4 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Hydra schreef op vrijdag 18 juni 2021 @ 08:05:
[...]
Je wil een tafel kunnen maken, geen "hamers leren".
Helemaal waar. Ik probeer hem alleen wel weg te krijgen van C, want ipv met een hamer probeert hij nu een tafel te maken met een steen ofzo _O-

Het maakt het onnodig moeilijk.

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Hydra schreef op vrijdag 18 juni 2021 @ 08:05:
[...]


Het belangrijkste is dat je een 'cursus' volgt die leidt naar waar je zijn wil. En waar je zijn wil is bepaalde applicaties bouwen. De taal is daar eigenlijk compleet niet relevant. Ik heb je een hele tijd geleden al 2 cursussen getoond die gratis te volgen zijn.

Je kunt natuurlijk ook een taal pakken en daar dan een cursus bij proberen te zoeken, maar da's in jouw geval nogal de omgekeerde wereld.

Je wil een tafel kunnen maken, geen "hamers leren".
Lethalis schreef op vrijdag 18 juni 2021 @ 08:35:
[...]

Helemaal waar. Ik probeer hem alleen wel weg te krijgen van C, want ipv met een hamer probeert hij nu een tafel te maken met een steen ofzo _O-

Het maakt het onnodig moeilijk.
Oké oké, oké. Voor de goede orde. Ik vroeg om de "skills" die nodig zijn om software te bouwen die ik voor ogen had, onder skills verstaand de taal en alle andere "tools".

Voor de taal had ik echter een uitzondering gemaakt. Ik had er al voor gekozen om [C] eerst te leren er vanuit gaande dat ik die niet zou kunnen gebruiken voor mijn doeleinden, maar omdat ik mijn hersenen wilde uitdagen, C] een moeilijkere taal is dan bijvoorbeeld Java en ik gemakkelijker zou kunnen overstappen en zodat ik gemakkelijker een andere taal zou kunnen leren als ik gaandeweg van doel zou veranderen, waarbij ik bijvoorbeeld C++ nodig zou hebben.

Ik wilde wel [C] eerst helemaal doorgronden voordat ik de "overstap" naar de doeltaal zou maken, zodat de overstap zonder enige moeite zou gaan.

Wel wilde ik onder "skills" verstaande wel al weten welke doeltaal het beste zou zijn.

Nou, één manier is dus om de cursus voor het doel uit te zoeken (dus na [C] wel helemaal doorgrond) te hebben) en in die taal in die cursus dan te leren.
De andere manier en dat was ook geen bedoeling is om de doeltaal te leren (wat totaal geen issue zou zijn na doorgronden van [C]) en op basis van deze de cursus uit te zoeken.

Maar heeft dan niet één van de twee (C# of Java) een lichte voorkeur als je de cursus zou moeten uitzoeken zonder deze taal al eerst geleerd te hebben, maar om hem in die cursus te leren?

Ik zou ook (wat ik in de vorige post zei, maar nog over twijfel) ook [C] meteen kunnen laten varen en direct met de cursus voor het huidige doel beginnen en dan uiteraard in deze cursus de benodigde taal leren, maar ik vreesde dat ik dan mijn redenen om eerst [C] te leren zoals ik hierboven beschreef minder goed zou ondervangen. Als daar geen sprake van is, dan wordt het inderdaad direct aanmelden voor de cursus.

Trouwens, ik vergeleek [C] meer met een handzaag en Java of C# met een zaagmachine. 😇

Acties:
  • +1 Henk 'm!

  • retoohs
  • Registratie: April 2019
  • Laatst online: 23:19
Ik denk dat je onderschat hoeveel inspanning het is om software te leren ontwikkelen. Er komt gewoon heel veel bij kijken. Daarbij komt dat je zelfstudie gaat doen in je vrije tijd waardoor het nog trager zal gaan. Maak het jezelf niet onnodig moeilijk.

Acties:
  • +2 Henk 'm!

  • ConQuestador
  • Registratie: November 2000
  • Laatst online: 22:15
ten eerste: Waarom schrijf je C constant als [C]?
ten tweede: C is een oldschool functionele programmeertaal, waarbij hedendaagse programmeertalen die als doel hebben een grote applicatie te bouwen veelal object georienteerd zijn (Java en C#). Maar talen als Python zijn weer meer funtioneel (don't shoot me als ik niet helemaal correct ben, ik ben 100% Java expert, dus de exacte ins en outs van andere talen ontgaan me nog wel eens)

Conceptueel is object georienteerd compleet anders dan functioneel. Bij de opkomst van Java 20 jaar terug had je nog veel programmeurs die C gewend waren, en bijna niet in staat waren de Object georienteerde mindset goed toe te passen (en dus zijn blijven hangen in baantjes waar ze hun vertrouwde C konden blijven gebruiken).
Nog iets om rekening mee te houden dus.

[ Voor 15% gewijzigd door ConQuestador op 18-06-2021 14:37 ]

Panasonic 12J T-CAP | Atlantic Explorer 270L | 4 x MHI SRK24ZS-WF + SRF35ZS-W | 12.000 Wp Enphase | Home Assistant, Heishamon, Mhi-ctrl | Alfa Romeo Giulia Veloce


Acties:
  • +1 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
retoohs schreef op vrijdag 18 juni 2021 @ 12:36:
Ik denk dat je onderschat hoeveel inspanning het is om software te leren ontwikkelen. Er komt gewoon heel veel bij kijken. Daarbij komt dat je zelfstudie gaat doen in je vrije tijd waardoor het nog trager zal gaan. Maak het jezelf niet onnodig moeilijk.
retoohs schreef op vrijdag 18 juni 2021 @ 12:36:
Ik denk dat je onderschat hoeveel inspanning het is om software te leren ontwikkelen. Er komt gewoon heel veel bij kijken. Daarbij komt dat je zelfstudie gaat doen in je vrije tijd waardoor het nog trager zal gaan. Maak het jezelf niet onnodig moeilijk.
Oké oké, staat genoteerd. Ik ga er werk van maken!

Thanks voor je reactie, ConQuestador. Ben zeer dankbaar voor alle informatie.
ConQuestador schreef op vrijdag 18 juni 2021 @ 12:47:
ten eerste: Waarom schrijf je C constant als [C]?
Nou, ik had het eerder zo geschreven gezien op het forum en gezien het feit dat het één char is de indruk op een spelfout gewekt kan worden. Wat ik eerder op het forum gezien heb kan echter op deze plek gedeelte een synthactische fout zijn. Sorry.
ConQuestador schreef op vrijdag 18 juni 2021 @ 12:47:
Conceptueel is object georienteerd compleet anders dan functioneel. Bij de opkomst van Java 20 jaar terug had je nog veel programmeurs die C gewend waren, en bijna niet in staat waren de Object georienteerde mindset goed toe te passen (en dus zijn blijven hangen in baantjes waar ze hun vertrouwde C konden blijven gebruiken).
Nog iets om rekening mee te houden dus.
Kijk, dit heb ik dus nergens voorbij zien komen. Grote dank voor deze informatie. Ik zal C meteen laten vallen!
ConQuestador schreef op vrijdag 18 juni 2021 @ 12:47:
Als afsluiter dit, ik geef je weinig kans te slagen.. Om zelf te leren programmeren moet je sterke autodidactische eigenschappen hebben, dit topic geeft me niet die indruk. Desalnietemin: Succes, en bewijs me vooral dat ik ongelijk heb door over een halfjaar een vette codebase te tonen :)
Haha, ik hou wel van zulke provocatie. 😎 Half jaartje zei je? 😁

Acties:
  • +1 Henk 'm!

  • ConQuestador
  • Registratie: November 2000
  • Laatst online: 22:15
Oja, nog 1 advies:

De 3 voorbeelden die jij noemt, bestaan al gewoon. Iets beter zoeken en die programma's bestaan (veelal apps op de telefoon), vaak zelfs gratis. Die programma's zelf bouwen gaat je honderden uren kosten, in het begin is het nog leuk. Maar om het vervolgens ook echt af te ronden en de laatste quirks eruit te halen kost gewoon dedication. Iets waar je veelal geen plezier meer uit haalt.
Bij programmeren is het heel simpel: Je hebt een idee, je wordt superenthousiast, je begint met bouwen, je bent nog steeds enthousiast. Je bouwt het hele concept uit, je bent trots... En dan komt het punt dat je de bugjes er nog uit moet halen, en veelal is het dan niet leuk meer. De uitdaging van je idee is er vanaf, en het plezier is er ook uit.

Kortom: programma's die je wilt gebruiken kan je beter gewoon downloaden ergens vandaan. Prive projectjes zijn om mee te spelen :P (Of zodra programmeren je werk is, zoals bij mij, dan doe je helemaal geen prive projectjes meer :F )

[ Voor 5% gewijzigd door ConQuestador op 18-06-2021 13:35 ]

Panasonic 12J T-CAP | Atlantic Explorer 270L | 4 x MHI SRK24ZS-WF + SRF35ZS-W | 12.000 Wp Enphase | Home Assistant, Heishamon, Mhi-ctrl | Alfa Romeo Giulia Veloce


Acties:
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Letsdothis schreef op vrijdag 18 juni 2021 @ 11:28:
Oké oké, oké. Voor de goede orde. Ik vroeg om de "skills" die nodig zijn om software te bouwen die ik voor ogen had, onder skills verstaand de taal en alle andere "tools".
Punt is vooral dat de primaire skill "problemen oplossen" is. Elk stuk software is een probleem wat je op moet breken in de kleinst mogelijke sub-problemen en die moet je dan een voor een implementeren. Het 'uitschrijven' in code komt past op het laatst eigenlijk. Kwa development tijd besteed ik waarschijnlijk niet meer dan 10% van de tijd aan code schrijven.

Vandaar dus dat de taal zo niet relevant is. De code is het eindproduct van het proces. Of de oplossing nu 2 for-loops in C, Java of JavaScript is, is echt een trivialiteit.

Dat oplossen van probemen leer je vooral door te doen. Leren programmeren is vooral veel doen dus. Het is veel meer een praktisch 'vak' dan je zou vermoeden door de wiskundige achtergrond :)

https://niels.nu


Acties:
  • +4 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
ConQuestador schreef op vrijdag 18 juni 2021 @ 13:34:
En dan komt het punt dat je de bugjes er nog uit moet halen, en veelal is het dan niet leuk meer.
Zover kom ik meestal niet. Mijn git repo ziet er ongeveer zo uit:

Afbeeldingslocatie: https://www.commitstrip.com/wp-content/uploads/2014/11/Strip-Side-project-650-finalenglish.jpg

https://niels.nu


Acties:
  • +4 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
ConQuestador schreef op vrijdag 18 juni 2021 @ 12:47:
Als afsluiter dit, ik geef je weinig kans te slagen.. Om zelf te leren programmeren moet je sterke autodidactische eigenschappen hebben, dit topic geeft me niet die indruk. Desalnietemin: Succes, en bewijs me vooral dat ik ongelijk heb door over een halfjaar een vette codebase te tonen :)
Dat is echt compleet onnodig. Je mag het denken, maar dit uitspreken helpt echt niemand.

https://niels.nu


Acties:
  • +2 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ConQuestador schreef op vrijdag 18 juni 2021 @ 13:34:
Die programma's zelf bouwen gaat je honderden uren kosten, in het begin is het nog leuk. Maar om het vervolgens ook echt af te ronden en de laatste quirks eruit te halen kost gewoon dedication. Iets waar je veelal geen plezier meer uit haalt.
Dat is heel persoonlijk. Ik ken het hoor, ben ook zo iemand die aan 101 hobbydingen begint en niks echt afmaakt (het uitzoeken is 95% van de lol voor mij, zodra de proof of concept werkt, is de uitdaging er af).

Maar ik heb ook een collega die enigszins perfectionistisch is en op de details, en die gaat ook met zijn hobbyprojecten eeuwig door :) Zijn huis zou ook zo in 1 of ander TV programma als voorbeeld kunnen, met LED panelen aan het plafond en zo ongeveer alles met een eigen protocol aangestuurd (lampen, rolluiken, etc). Elk detail helemaal afgewerkt.

Anders dan bij mij thuis, waar ik ooit was begonnen met het vervangen van de netwerkbedrading in huis, alles netjes in een patch panel wou afpatchen en daarna pas naar de switch.

Nou uiteindelijk heb ik er nog met veel pijn en moeite op kleur gecodeerde stekkertjes op gezet, direct in de switch en klaar is Kees :X Had er na het trekken van al die kabels duidelijk geen zin meer in :')

Maar er zijn nou eenmaal ook mensen die alles helemaal afwerken. Als die collega van mij een PC bouwt, wordt ook elk kabeltje netjes weggewerkt. Die haalt daar blijkbaar plezier uit :P Ik vrot het een beetje uit de buurt van de fans en ik vind het best.

Je projecteert heel erg jouw eigen trekjes op @Letsdothis dus. Misschien gaat hij juist wel nachten door om die laatste puntjes op de i te zetten. Je weet het nooit :P

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


Acties:
  • +3 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ConQuestador schreef op vrijdag 18 juni 2021 @ 13:34:
(Of zodra programmeren je werk is, zoals bij mij, dan doe je helemaal geen prive projectjes meer :F )
Is ook jouw ding... genoeg developers die wel hobbyprojecten hebben.

Die collega van mij (ga ik weer :P ) heeft bijvoorbeeld zijn elektrische fiets gehackt en daar een Android app voor geschreven.

Toch grappig. Hierdoor doet hij ook ervaring met Java op en dat lijkt hem ook wel te bevallen. Terwijl wij op kantoor hoofdzakelijk .Net developers zijn. Maar goed, we kunnen allemaal wel in meerdere talen programmeren.

Het is zoals @Hydra zegt, zodra je de concepten kent en het probleemoplossende vermogen hebt, is de taal niet meer dan 1 van de tools die je gebruikt.

Natuurlijk ben ik in .Net een stuk sneller dan in Python of Java, maar als ik morgen iets met bijvoorbeeld Spring moet bouwen doe ik dat gewoon. Of in Golang. Of Kotlin. Of zelfs in C++ :P

Alleen Haskell wil nog niet _O- Dat boek ligt nog te verstoffen in mijn boekenkast. Maar in F# kom ik bijvoorbeeld ook een heel eind.

[ Voor 44% gewijzigd door Lethalis op 18-06-2021 22:29 ]

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


Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
ConQuestador schreef op vrijdag 18 juni 2021 @ 12:47:
Conceptueel is object georienteerd compleet anders dan functioneel. Bij de opkomst van Java 20 jaar terug had je nog veel programmeurs die C gewend waren, en bijna niet in staat waren de Object georienteerde mindset goed toe te passen (en dus zijn blijven hangen in baantjes waar ze hun vertrouwde C konden blijven gebruiken).
Nog iets om rekening mee te houden dus.
En nu heb je veel Java programmeurs die nog steeds niet weten hoe de streams API werkt... of .Net developers die niet snappen hoe LINQ werkt. Of futures / async.

Dingen veranderen nou eenmaal.

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Hydra schreef op vrijdag 18 juni 2021 @ 14:29:
[...]
Punt is vooral dat de primaire skill "problemen oplossen" is. Elk stuk software is een probleem wat je op moet breken in de kleinst mogelijke sub-problemen en die moet je dan een voor een implementeren. Het 'uitschrijven' in code komt past op het laatst eigenlijk. Kwa development tijd besteed ik waarschijnlijk niet meer dan 10% van de tijd aan code schrijven.

Vandaar dus dat de taal zo niet relevant is. De code is het eindproduct van het proces. Of de oplossing nu 2 for-loops in C, Java of JavaScript is, is echt een trivialiteit.

Dat oplossen van probemen leer je vooral door te doen. Leren programmeren is vooral veel doen dus. Het is veel meer een praktisch 'vak' dan je zou vermoeden door de wiskundige achtergrond :)
Oké duidelijk, Hydra. Eerste "probleem" lossen we dus op door snel te beginnen met het leren van de primaire skill "problemen oplossen" door vooral veel te doen qua programmeren via een cursus webapplicaties gezien mijn doel.

Thanks!

Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
ConQuestador:
[...]
Die programma's zelf bouwen gaat je honderden uren kosten, in het begin is het nog leuk. Maar om het vervolgens ook echt af te ronden en de laatste quirks eruit te halen kost gewoon dedication. Iets waar je veelal geen plezier meer uit haalt.
Lethalis schreef op vrijdag 18 juni 2021 @ 21:56:
[...]
Dat is heel persoonlijk. Ik ken het hoor, ben ook zo iemand die aan 101 hobbydingen begint en niks echt afmaakt (het uitzoeken is 95% van de lol voor mij, zodra de proof of concept werkt, is de uitdaging er af).
Lethalis schreef op vrijdag 18 juni 2021 @ 21:56:
[...]
Je projecteert heel erg jouw eigen trekjes op @Letsdothis dus. Misschien gaat hij juist wel nachten door om die laatste puntjes op de i te zetten. Je weet het nooit :P
Thanks voor de aanmoediging, Lethalis. Ik kan goed het onderscheid maken tussen de inhoudelijke boodschap en de suggestieve. Qua inhoud haal ik eruit dat het veel werk kan zijn om de laatste quirks eruit te halen om het programma echt te laten afwerken.

Dan zijn dit alle mogelijke opties naast de al genoemde:
1. Quirks eruit halen is leuk, dus je doet het.
2. Quirks eruit halen is niet leuk, dus je stopt met alles.
3. Quirks eruit halen is niet leuk, maar je doet het toch.
4. Quirks eruit halen is niet leuk, maar je zorg ervoor dat je leuk vindt en doet het toch.

Te zijner tijd zal ik ontdekken hoe ik de quirks ervaar, maar ook hoe zwaar de quirks wegen ten opzichte van de overige activiteiten en het doel en beslissen voor welke optie ik ga!

Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Lethalis schreef op vrijdag 18 juni 2021 @ 22:19:
[...]
Die collega van mij (ga ik weer :P ) heeft bijvoorbeeld zijn elektrische fiets gehackt en daar een Android app voor geschreven.
Ik wil die collega van jou wel ontmoeten. 😏
Lethalis schreef op vrijdag 18 juni 2021 @ 22:19:
[...]
Het is zoals @Hydra zegt, zodra je de concepten kent en het probleemoplossende vermogen hebt, is de taal niet meer dan 1 van de tools die je gebruikt.

Natuurlijk ben ik in .Net een stuk sneller dan in Python of Java, maar als ik morgen iets met bijvoorbeeld Spring moet bouwen doe ik dat gewoon. Of in Golang. Of Kotlin. Of zelfs in C++ :P

Alleen Haskell wil nog niet _O- Dat boek ligt nog te verstoffen in mijn boekenkast. Maar in F# kom ik bijvoorbeeld ook een heel eind.
Wow, indrukwekkend. Zwijgen in alle talen gaat me al slecht af. Hoop dat programmeren in meerdere talen me beter af zal gaan ...

Acties:
  • 0 Henk 'm!

Verwijderd

Kijk ook eens wat er al aan Open Source-projecten is in de richtingen waar je verder wilt gaan, en bedenk of je niet liever daaraan mee helpen wil om je doelen te bereiken. Je hebt dan in ieder geval al een voorbeeld om 'uit elkaar te halen' zodat je ziet wat het doet, ook al is het niet wat jij wilt.

Over het algemeen benader ik het zoals ik een natuurlijke taal leer: ik begin met het uit mijn hoofd leren van complete zinnen en uitdrukkingen (de duplo) en naarmate ik een taal beter spreek worden de lego-blokjes kleiner en kleiner.

Zoiets werkt misschien niet voor iedereen, je moet niet bang zijn om fouten te maken, sommigen hebben echt de houvast van grammatica nodig. Maar voor mij werkt het prima (maar dan ik ook geen programmeur, ik kan alleen wat basale dingen schrijven + scripten - maar genoeg om alles te hebben zoals ik het wil, en anders leer ik wel weer bij).

Acties:
  • 0 Henk 'm!

  • mvrhrln
  • Registratie: Mei 2013
  • Laatst online: 25-11-2023
Verwijderd schreef op vrijdag 18 juni 2021 @ 23:43:
Over het algemeen benader ik het zoals ik een natuurlijke taal leer: ik begin met het uit mijn hoofd leren van complete zinnen en uitdrukkingen (de duplo) en naarmate ik een taal beter spreek worden de lego-blokjes kleiner en kleiner.
Met wel het verschil dat je al een basistaal (NL) beheerst.

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
mvrhrln schreef op zaterdag 19 juni 2021 @ 00:13:
[...]

Met wel het verschil dat je al een basistaal (NL) beheerst.
En dat was ook altijd de kracht van BASIC. Zo dicht mogelijk tegen natuurlijke taal aanzitten.

Ondanks dat ik VB.Net af en toe vervloek, leest het wel heel prettig. Bijna als een natuurlijk gesprek / monoloog wanneer een programmeur zijn best gedaan heeft om ook de functies en variabelen duidelijke namen te geven.

Geen brei van accolades en onnodige puntkomma's.

Het is alleen jammer dat het niet dezelfde aandacht als C# krijgt van Microsoft en daarnaast dat Option Strict überhaupt een Option is :F

Ik heb een hoop dingen fout zien gaan in VB projecten die de C# compiler er zo uit had gevist.

Maar het basis concept van een programmeertaal die zoveel mogelijk op natuurlijke taal lijkt, vind ik nog steeds sterk... ondanks dat ik op mijn werk zoveel mogelijk naar C# converteer. Het idee was leuk.

Het is ergens ook gek dat we wel onze OO modellen aan de hand van een ubiquitous language ontwerpen (bij DDD), maar dat de talen die we gebruiken relatief cryptisch zijn.

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


Acties:
  • +1 Henk 'm!

  • DeveloperNL
  • Registratie: Augustus 2014
  • Laatst online: 24-06-2024
Een webapp of desktop app leer je in 3-6 maanden. Als het alleen voor jezelf is, zou ik met C# en een SQL database beginnen. Je kunt het jezelf zo makkelijk of moeilijk maken als je wilt. Het voordeel van WPF is dat je elementen met je muis gewoon kan slepen en dat je on the fly kan bedenken hoe scherm uit moet zien. Ik zou beginnen met die voedingsschema app, die lijkt het kleinst. Daarnaast is een valkuil voor veel mensen om een app veel te groot te maken. Als 5 minuten planning voor jou belangrijk is. Maak een to do app die alleen je dagplanning kan doen. Voor weekplanning gebruik je een papieren kalender of standaard e-mail kalender. Eerste versie: items toevoegen/bewerken/verwijderen in database en tonen in lijstje. Volgende versie zorg dat je items kunt afvinken en favorieten kan maken of herhaalde afspraken kan maken. Volgende versie: sync items uit Google calendar.


https://docs.microsoft.co...tutorial-wpf?view=vs-2019

Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Lethalis schreef op vrijdag 18 juni 2021 @ 22:19:
Natuurlijk ben ik in .Net een stuk sneller dan in Python of Java, maar als ik morgen iets met bijvoorbeeld Spring moet bouwen doe ik dat gewoon. Of in Golang. Of Kotlin. Of zelfs in C++ :P
Je moet wel een beetje uitkijken om frameworks en talen niet door elkaar te gaan halen. Spring is enorm. Ik weet niet wat je ervaring is, maar als iemand nul ervaring heeft met Spring gaat het eerste wat je gaat bouwen waarschijnlijk best wel rommel worden.

Ik kan best prima wat in PHP maken bijvoorbeeld, maar ik weet zeker dat m'n eerste Laravel project absolute bagger gaat zijn. Terugkijkend op m'n eerste AngularJS project, wat ik wel voor een klant deed, was dat ook best slecht.

https://niels.nu


Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Verwijderd schreef op vrijdag 18 juni 2021 @ 23:43:
Kijk ook eens wat er al aan Open Source-projecten is in de richtingen waar je verder wilt gaan, en bedenk of je niet liever daaraan mee helpen wil om je doelen te bereiken. Je hebt dan in ieder geval al een voorbeeld om 'uit elkaar te halen' zodat je ziet wat het doet, ook al is het niet wat jij wilt.
IMHO is dit gewoon een slecht advies. Voor een absolute beginner moet je niet in complexe bestaande code gaan duiken. Meestal zitten daar zo veel laagjes in, dat je als beginner echt niet snapt wat er gebeurt.

Hij moet gewoon lekker zelf gaan bouwen. Aan de hand van een cursus. Daar leer je veel meer van.
Maar voor mij werkt het prima (maar dan ik ook geen programmeur, ik kan alleen wat basale dingen schrijven + scripten - maar genoeg om alles te hebben zoals ik het wil, en anders leer ik wel weer bij).
in dit geval is het misschien ook beter het advies dan over te laten aan de mensen die dit wel voor hun werk doen :)

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Thanks wederom voor de input, guys.
Lethalis schreef op zaterdag 19 juni 2021 @ 00:45:
[...]

En dat was ook altijd de kracht van BASIC. Zo dicht mogelijk tegen natuurlijke taal aanzitten.

Ondanks dat ik VB.Net af en toe vervloek, leest het wel heel prettig. Bijna als een natuurlijk gesprek / monoloog wanneer een programmeur zijn best gedaan heeft om ook de functies en variabelen duidelijke namen te geven.

Geen brei van accolades en onnodige puntkomma's.
Is dit niet juist wat het leuk maakt? 😁
DeveloperNL schreef op zaterdag 19 juni 2021 @ 06:48:
Een webapp of desktop app leer je in 3-6 maanden. Als het alleen voor jezelf is, zou ik met C# en een SQL database beginnen. Je kunt het jezelf zo makkelijk of moeilijk maken als je wilt. Het voordeel van WPF is dat je elementen met je muis gewoon kan slepen en dat je on the fly kan bedenken hoe scherm uit moet zien. Ik zou beginnen met die voedingsschema app, die lijkt het kleinst. Daarnaast is een valkuil voor veel mensen om een app veel te groot te maken. Als 5 minuten planning voor jou belangrijk is. Maak een to do app die alleen je dagplanning kan doen. Voor weekplanning gebruik je een papieren kalender of standaard e-mail kalender. Eerste versie: items toevoegen/bewerken/verwijderen in database en tonen in lijstje. Volgende versie zorg dat je items kunt afvinken en favorieten kan maken of herhaalde afspraken kan maken. Volgende versie: sync items uit Google calendar.


https://docs.microsoft.co...tutorial-wpf?view=vs-2019
Thanks voor je tip, DeveloperNL! Inderdaad een goeie, wat eerder genoemd werd, om er kleinere projecten van de maken.
DeveloperNL schreef op zaterdag 19 juni 2021 @ 06:48:
Ik zou beginnen met die voedingsschema app, die lijkt het kleinst.
Ik dacht juist dat dat één van de meest uitgebreide zou zijn vanwege het feit dat de gegevens van een andere site (https://nevo-online.rivm.nl/ProductenZoeken.aspx) gebruikt moeten worden voor het maken van berekeningen. Is dat niet zo?

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op zaterdag 19 juni 2021 @ 22:17:
Ik dacht juist dat dat één van de meest uitgebreide zou zijn vanwege het feit dat de gegevens van een andere site (https://nevo-online.rivm.nl/ProductenZoeken.aspx) gebruikt moeten worden voor het maken van berekeningen. Is dat niet zo?
https://www.rivm.nl/neder...e/copyright-en-disclaimer

Alle intellectuele (eigendoms)rechten met betrekking tot het Nederlands Voedingsstoffenbestand en alle informatie die daarmee verband houdt (zoals NEVO-online) en de manier waarop de gegevens worden gerepresenteerd of verschijnen behoren toe aan RIVM Rijksinstituut voor Volksgezondheid en Milieu /de Staat der Nederlanden.
Gebruik van de informatie van NEVO-online is alleen toegestaan in ongewijzigde vorm en met vermelding van bron en versienummer. U dient hiervoor de volgende referentie te gebruiken:
NEVO-online versie 2019/6.0, RIVM, Bilthoven.


En hoe ben je van plan die gegevens te gebruiken?

[ Voor 35% gewijzigd door Lethalis op 20-06-2021 08:22 ]

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


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op zaterdag 19 juni 2021 @ 22:17:
Is dit niet juist wat het leuk maakt? 😁
Als je een paar jaar met AutoLISP hebt gewerkt, is Basic een verademing. Sorry :P

Kut haakjes.

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


Acties:
  • +2 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Hydra schreef op zaterdag 19 juni 2021 @ 09:08:
[...]
Je moet wel een beetje uitkijken om frameworks en talen niet door elkaar te gaan halen. Spring is enorm. Ik weet niet wat je ervaring is, maar als iemand nul ervaring heeft met Spring gaat het eerste wat je gaat bouwen waarschijnlijk best wel rommel worden.
Daar ben ik het ook mee eens. Mijn ervaring met Spring is iig dat ik heel wat weekenden aan het uitzoeken ben geweest hoe ik er het meeste mee kon doen wat ik ook in .NET doe.

Een jaar of 5 geleden, dat wel. Maar ik heb destijds erg getwijfeld of ik fulltime naar Java wou gaan switchen, omdat ik de stand van .NET destijds erg triest vond (het pad naar .NET 5 was lang en moeizaam).

Iemand op dit forum ;) gaf mij destijds het advies Spring te leren. Dus ik zou niet helemaal vanaf 0 beginnen nu.

Dat er dingen zullen zijn die misschien anders of beter kunnen, geloof ik meteen, omdat ik er geen serieuze projecten mee heb gedaan.

[ Voor 9% gewijzigd door Lethalis op 20-06-2021 08:41 ]

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Lethalis schreef op zondag 20 juni 2021 @ 08:20:
[...]

https://www.rivm.nl/neder...e/copyright-en-disclaimer

Alle intellectuele (eigendoms)rechten met betrekking tot het Nederlands Voedingsstoffenbestand en alle informatie die daarmee verband houdt (zoals NEVO-online) en de manier waarop de gegevens worden gerepresenteerd of verschijnen behoren toe aan RIVM Rijksinstituut voor Volksgezondheid en Milieu /de Staat der Nederlanden.
Gebruik van de informatie van NEVO-online is alleen toegestaan in ongewijzigde vorm en met vermelding van bron en versienummer. U dient hiervoor de volgende referentie te gebruiken:
NEVO-online versie 2019/6.0, RIVM, Bilthoven.


En hoe ben je van plan die gegevens te gebruiken?
Ah, thanks voor deze aanwijzing.

Ik had al in mijn initiële post aangekaart:
Ik wil graag (voor zover toegestaan) met het programma een voedingsschema opstellen en dan kunnen zien wat de som is per voedingsschema van van alle beschikbare nutriënten zoals beschikbaar in het Nederlands Voedingsstoffenbestand (https://nevo-online.rivm.nl/ProductenZoeken.aspx).
De rechten zullen dus een probleem zijn, maar er staat ook:
Gebruik van de informatie van NEVO-online is alleen toegestaan in ongewijzigde vorm en met vermelding van bron en versienummer. U dient hiervoor de volgende referentie te gebruiken:
NEVO-online versie 2019/6.0, RIVM, Bilthoven.
Dus misschien met genoemde vermeldingen dat het wel toegestaan is. Of stel dat ik een toestemming op de één of andere manier krijg:

Is het dan nog steeds een project om ermee te beginnen?
😁

Trouwens, dus ook al ben je er als ervaren developer helmaal gewend aan en is het just an other day at the office, dan nog had je ze liever niet gehad ...

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op zondag 20 juni 2021 @ 08:46:
[...]
Trouwens, dus ook al ben je er als ervaren developer helmaal gewend aan en is het just an other day at the office, dan nog had je ze liever niet gehad ...
Ik vind het leuk om mooie dingen te bouwen, niet om het mezelf onnodig moeilijk te maken.

Aan de haakjes in AutoLISP ben ik nooit gewend geraakt hoor en ik vond het een verschrikkelijke taal. Gelukkig kun je ook op een hoop andere manieren met AutoCAD communiceren.

Ik werkte destijds nog op het ingenieursbureau van mijn vader en die vond AutoLISP helaas prettig om mee te werken. Waarschijnlijk omdat het hem aan zijn favoriete rekenmachine deed denken (een HP met reverse polish notation) :')

PS
Er zijn zelfs masochisten die een dialect van Lisp op de JVM laten draaien:

https://clojure.org

Zo zie je maar weer dat niet elke programmeur hetzelfde wil.

Clojure:
1
(println "What is this:" (+ 1 2))

:N

Om te zien waar dit toe leidt als je iets nuttigs wil doen:

Clojure:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defn find-first
  "Finds the first item in a collection that matches a predicate. Returns a
  transducer when no collection is provided."
  ([pred]
   (fn [rf]
     (fn
       ([] (rf))
       ([result] (rf result))
       ([result x]
        (if (pred x)
          (ensure-reduced (rf result x))
          result)))))
  ([pred coll]
   (reduce (fn [_ x] (if (pred x) (reduced x))) nil coll)))


Gelukkig zie je in mainstream talen juist het omgekeerde: ze worden steeds eenvoudiger. Een puntkomma is bijvoorbeeld in veel nieuwere talen niet meer verplicht op het einde van een regel (Kotlin, TypeScript, Swift, etc).

Het is gewoon ruis in de meeste gevallen. En namen voor een variabele komen nu voor het type. Wauw, waar kennen we dat van? Oh ja, Basic :P

[ Voor 41% gewijzigd door Lethalis op 20-06-2021 10:01 ]

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


Acties:
  • +1 Henk 'm!

  • FreezeXJ
  • Registratie: Mei 2006
  • Laatst online: 22:27

FreezeXJ

DPC-Crew

Mooooh!

Ik zou me pas om die rechten druk gaan maken als je iets wilt publiceren van je programma, en voorlopig eerst zorgen dat je dus
1. een taal kiest en leert
2. leert hoe je data binnentrekt, en verwerkt
3. zorgt dat je een werkende applicatie hebt
en daarna
4. gaat kijken of/hoe je je nieuwe speeltje publiek mag aanbieden.

Pas op dat je niet meteen de frameworks induikt, die komen bij project 2 wel.
Bij Java is Spring bijvoorbeeld een volledig geautomatiseerde kettingzaag/maaimachine/drilboor. Prima als je die kunt inrichten om je heg te vervangen door een schutting, maar als je nog niks van tuinieren weet is de kans groot dat je een ravage van je tuin (of die van de buren!) maakt.

"It needs but one foe to breed a war, not two, master Warden. And those who have not swords can still die upon them" - Eowyn


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
@Letsdothis
Misschien heb je iets aan deze data:

https://world.openfoodfacts.org/data

De gegevens van Tijger bruin brood:

https://world.openfoodfac...roduct/8710400130123.json

[ Voor 36% gewijzigd door Lethalis op 20-06-2021 10:25 ]

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


Acties:
  • +1 Henk 'm!

  • retoohs
  • Registratie: April 2019
  • Laatst online: 23:19
Lethalis schreef op zondag 20 juni 2021 @ 08:20:
[...]

https://www.rivm.nl/neder...e/copyright-en-disclaimer

Alle intellectuele (eigendoms)rechten met betrekking tot het Nederlands Voedingsstoffenbestand en alle informatie die daarmee verband houdt (zoals NEVO-online) en de manier waarop de gegevens worden gerepresenteerd of verschijnen behoren toe aan RIVM Rijksinstituut voor Volksgezondheid en Milieu /de Staat der Nederlanden.
Gebruik van de informatie van NEVO-online is alleen toegestaan in ongewijzigde vorm en met vermelding van bron en versienummer. U dient hiervoor de volgende referentie te gebruiken:
NEVO-online versie 2019/6.0, RIVM, Bilthoven.


En hoe ben je van plan die gegevens te gebruiken?
Het lijkt me niet zo'n ramp om dit te gebruiken in een hobby project. Zolang je maar niks gaat publiceren of delen met andere.
Het zou overigens ook niet mijn eerste keuze zijn voor een project om mee te beginnen. Het scraping component brengt weer extra complexiteit met zich mee.
Misschien is het wel een aardige oefening om een CLI programmatje te maken die o.b.v. een zoekopdracht een resultaat geeft in de command line na een scrape actie. Je hoeft dan nog niks met een webframework te doen waardoor het een beetje behapbaar blijft.

Acties:
  • 0 Henk 'm!

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 19:46

scorpie

Supra Addict

Grappig dat https://roadmap.sh/ nog niet voorbij is gekomen hier. Het geeft mijn inziens een prima route weer om af te leggen van conceptuele ideeen en technieken die je daarvoor kunt gebruiken. Gesorteerd in specifiek front-end, back-end en devops.

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


Acties:
  • +2 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
scorpie schreef op zondag 20 juni 2021 @ 10:32:
Grappig dat https://roadmap.sh/ nog niet voorbij is gekomen hier.
Ik vind ze complete bagger. Het zijn weinig meer dan braindumps van iemand die ongeveer alles wat 'ie weet op een rijtje gezet heeft, maar nul kaas gegeten heeft van didactiek. Het is complete kolder dat je eerst moeten hoe DNS werkt voordat je gaat leren programmeren bijvoorbeeld. En zo zitten deze vol met dit soort onzin.

Voor beginners zijn dat soort roadmaps veel te overweldigend. Een cursus zoals FreeCodeCamp of The Odin Project is een veel betere start. Je leert vooral programmeren door het gewoon veel te doen.

https://niels.nu


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
retoohs schreef op zondag 20 juni 2021 @ 10:27:
[...]
Het scraping component brengt weer extra complexiteit met zich mee.
:r

Ik zou een hoop andere dingen eerst proberen :P

https://world.openfoodfacts.org/data

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


Acties:
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Letsdothis schreef op zaterdag 19 juni 2021 @ 22:17:
Ik dacht juist dat dat één van de meest uitgebreide zou zijn vanwege het feit dat de gegevens van een andere site (https://nevo-online.rivm.nl/ProductenZoeken.aspx) gebruikt moeten worden voor het maken van berekeningen. Is dat niet zo?
Je denkt wederom veel te veel na en werpt allemaal blokkades op voor jezelf. Dit is compleet niet relevant tot je eindelijk zo ver bent dat je een applicatie van jezelf echt commercieel uit zou wilen baten. En daar ben je nog lang niet.

https://niels.nu


Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Even voor het idee, 1 van de eerste dingen die ik in mijn leven heb geprogrammeerd (in het jaar 1991 voor de context :) ) was een programma'tje dat met ASCII karakters een zeilboot tekende. Met BASIC en in die tijd was dat gewoon CLS, COLOR, LOCATE en PRINT commando's gebruiken met wat FOR loopjes erbij. That's it.

Iedereen moet ergens beginnen.

Keep it simple...

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
FreezeXJ schreef op zondag 20 juni 2021 @ 09:38:
Ik zou me pas om die rechten druk gaan maken als je iets wilt publiceren van je programma, en voorlopig eerst zorgen dat je dus
1. een taal kiest en leert
2. leert hoe je data binnentrekt, en verwerkt
3. zorgt dat je een werkende applicatie hebt
en daarna
4. gaat kijken of/hoe je je nieuwe speeltje publiek mag aanbieden.

Pas op dat je niet meteen de frameworks induikt, die komen bij project 2 wel.
Bij Java is Spring bijvoorbeeld een volledig geautomatiseerde kettingzaag/maaimachine/drilboor. Prima als je die kunt inrichten om je heg te vervangen door een schutting, maar als je nog niks van tuinieren weet is de kans groot dat je een ravage van je tuin (of die van de buren!) maakt.
Thanks voor je advies, FreezeXJ. Voorlopig eerst dus leren tuinieren!
Het zal nog lang duren voordat ik toe ben hieraan voor mijn beoogde applicatie, maar ben wel benieuwd wat het voordeel van deze site is ten opzichte de NEVO-site die ik gaf. Is het in verband met de "scraping" waar je het later over had?

Nadeel van de site die je gaf is dat er te weinig variabelen (micronutriënten) zijn die ik wil laten berekenen. Nu gebruik ik twee afzonderlijke webapplicaties om de data samen te voegen en met de gegevens van deze site zou ik nog minder hebben.

Maar misschien bedoel jij het als een tussenstap als oefening voordat ik toe ben aan de gegevens van NEVO te gebruiken.
Hydra schreef op zondag 20 juni 2021 @ 10:44:
Je denkt wederom veel te veel na en werpt allemaal blokkades op voor jezelf. Dit is compleet niet relevant tot je eindelijk zo ver bent dat je een applicatie van jezelf echt commercieel uit zou wilen baten. En daar ben je nog lang niet.
Oké Hydra, ik heb een hoge pet op van je, dus zal je advies ter harte nemen om alles stap voor stap te doen door de cursus te doen!
Lethalis schreef op zondag 20 juni 2021 @ 12:57:
Even voor het idee, 1 van de eerste dingen die ik in mijn leven heb geprogrammeerd (in het jaar 1991 voor de context :) ) was een programma'tje dat met ASCII karakters een zeilboot tekende. Met BASIC en in die tijd was dat gewoon CLS, COLOR, LOCATE en PRINT commando's gebruiken met wat FOR loopjes erbij. That's it.

Iedereen moet ergens beginnen.

Keep it simple...
Je hebt echt een mooi Basis Propaganda, Lethalis. Een vriend had mij al een paar jaar geleden die taal aangeraden om mee te beginnen. Spijt ...

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op zondag 20 juni 2021 @ 18:30:
[...]
Je hebt echt een mooi Basis Propaganda, Lethalis. Een vriend had mij al een paar jaar geleden die taal aangeraden om mee te beginnen. Spijt ...
Een paar jaar geleden? :X

En waarom spijt? Met Visual Basic .NET had je makkelijk alles kunnen bouwen wat je wou.

Is misschien niet hip, maar prima om mee te beginnen. En ik krijg langzamerhand het idee dat jij nergens echt mee begint. Wat heb je tot nu toe geprogrammeerd?

Je doet mij denken aan mensen die gitaar willen leren spelen, maar zich te goed voor een goedkope gitaar voelen en meteen een veel te dure kopen die dan mooi aan de muur blijft hangen. Ik heb eerst een paar maanden aangeklooid met een tweedehands B merk voordat ik een nieuwe Ibanez kocht.

Net zoals dat ik programmeren met BASIC en later VB leerde, voordat ik met Borland C++ Builder verder ging, en daarna .NET etc.

Maak eerst eens iets. Begin ergens.

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Ik had toen de knoop geenszins doorgehakt dat ik het wilde leren, nu wel.
Lethalis schreef op zondag 20 juni 2021 @ 19:24:
[...]
En waarom spijt? Met Visual Basic .NET had je makkelijk alles kunnen bouwen wat je wou.
Het was een grapje.
Lethalis schreef op zondag 20 juni 2021 @ 19:24:
[...]
Is misschien niet hip, maar prima om mee te beginnen. En ik krijg langzamerhand het idee dat jij nergens echt mee begint.
Ik ben een een paar maanden al C aan het leren.
Lethalis schreef op zondag 20 juni 2021 @ 19:24:
[...]
Wat heb je tot nu toe geprogrammeerd?
Lethalis schreef op zondag 20 juni 2021 @ 19:24:
[...]
Je doet mij denken aan mensen die gitaar willen leren spelen, maar zich te goed voor een goedkope gitaar voelen en meteen een veel te dure kopen die dan mooi aan de muur blijft hangen. Ik heb eerst een paar maanden aangeklooid met een tweedehands B merk voordat ik een nieuwe Ibanez kocht.
Nee, ik wilde voorkomen dat ik een contrabas zou gaan leren, terwijl ik gitaar zou willen leren spelen.
Lethalis schreef op zondag 20 juni 2021 @ 19:24:
[...]
Maak eerst eens iets. Begin ergens.
Zeker, dat had ik al gedaan, maar toen zei jij dat je me van C af wilde helpen.

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op zondag 20 juni 2021 @ 20:07:
[...]
Ik ben een een paar maanden al C aan het leren.

Zeker, dat had ik al gedaan, maar toen zei jij dat je me van C af wilde helpen.
En wat heb je tot nu toe gemaakt met C?

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Lethalis schreef op zondag 20 juni 2021 @ 20:17:
En wat heb je tot nu toe gemaakt met C?
Oh, sorry. Deze vraag heb ik per ongeluk niet beanwoord. Ik heb nog niks gemaakt met C. Alleen opdrachten die in het lesboek staan.

Ik heb de vergelijkingsoperatoren, de lussen, functies, arrays en structuren tot nu toe gehad en was begonnen met pointers. Wel vaak weer een paar hoofdstukken de materie weer herkauwen, want bleek dat ik bepaalde details nog niet zag op het moment toen ik het voor het eerst las.

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op zondag 20 juni 2021 @ 20:26:
[...]


Oh, sorry. Deze vraag heb ik per ongeluk niet beanwoord. Ik heb nog niks gemaakt met C. Alleen opdrachten die in het lesboek staan.

Ik heb de vergelijkingsoperatoren, de lussen, functies, arrays en structuren tot nu toe gehad en was begonnen met pointers. Wel vaak weer een paar hoofdstukken de materie weer herkauwen, want bleek dat ik bepaalde details nog niet zag op het moment toen ik het voor het eerst las.
Op zich is dat laatste niet vreemd, heb ik ook weleens als ik iets nieuws leer. Heb je eventueel een link naar het lesboek? ISBN of Amazon / Bol.com linkje?

Dan kunnen we misschien wat beter beoordelen in hoeverre het geschikt is.

Punt is namelijk vooral wat het doel nu is. Leer je C om de absolute basis te leren of wil je C gebruiken om er ook iets mee te maken?

Een simpele webrequest maken via HTTPS wordt in C al gauw een ding (libcurl helpt), terwijl andere talen daar gewoon eenvoudige classes en functies voor hebben. Alleen omdat je in C op een lager niveau zit, word je blootgesteld aan wat in die andere talen achter de schermen gebeurt.

Als je in .Net 5 bijvoorbeeld de HttpClient gebruikt, dan spreekt het framework achter de schermen ook libcurl aan. Alleen wordt de complexiteit daarvan voor jou verborgen, terwijl je het in C allemaal zelf mag gaan oplossen.

Er gebeurt ook best veel. DNS naam resolven naar een IP adres, SSL/TLS kanaal opzetten over een TCP client socket, data versturen en ontvangen, waarbij je in C altijd low level met een gereserveerd stukje geheugen moet werken en dat moet managen waarbij die infameuze pointers regelmatig om de hoek komen kijken (sowieso voor zo ongeveer alles, een libcurl handle is ook gewoon een pointer naar een stuk geheugen). Daarnaast moet je de data parsen.

Je kunt de voorbeelden zo vinden waar mensen bijna 100 regels C code schrijven voor iets dat in Java of C# in 10 regels kan.

Op zich kan het leren over memory management geen kwaad, omdat het je later ook helpt om in talen als C# te begrijpen waarom sommige objecten gedisposed moeten worden en andere simpelweg door de garbage collector worden opgeruimd.

Maar de vraag blijft natuurlijk wel of het handig is om meteen de diepte in te gaan ipv de breedte en zo snel mogelijk "iets" te bouwen op een hoger / eenvoudiger niveau (geeft in het begin meer voldoening).

In Java of C# zou je bijvoorbeeld leren hoe je weerdata kunt opvragen bij een web api, zonder je over al die bovenstaande dingen echt druk te maken. Je maakt een WeatherData class met de juiste velden, je roept even een generieke functie aan met de url en het type van jouw class en je krijgt hem meteen gevuld terug.

Errors nog even afvangen en klaar. Parsen / deserializen van JSON of XML wordt vaak al voor je gedaan.

In C val je dan van de ene uitdaging in de andere.

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Lethalis schreef op zondag 20 juni 2021 @ 22:16:
Op zich is dat laatste niet vreemd, heb ik ook weleens als ik iets nieuws leer. Heb je eventueel een link naar het lesboek? ISBN of Amazon / Bol.com linkje?

Dan kunnen we misschien wat beter beoordelen in hoeverre het geschikt is.
Nou, ik had eerste instantie The Programming Language van Brian W. Kernighan en Dennis M. Ritchie (ISBN 0-13-110362-8) besteld omdat op dit forum en elders op internet dit boek vaak werd aangeraden. Ik begreep echter niks uit dit boek. Volgens mij was het ook meer bedoeld als naslagwerk voor diegenen die al konden programmeren met C.

Daarna ben ik aan de slag gegaan met Programmeren met C voor dummies van Dan Gookin (ISBN 978-90-453-5486-6). Bij deze de afbeeldingen van de inhoudsopgave:

Afbeeldingslocatie: https://tweakers.net/i/XeeWtjIr7LZ3iMTN7OHUy7i3kBg=/232x232/filters:strip_icc():strip_exif()/f/image/MeSBIQHhsRxAoWUBMXC2AzXr.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/CXuDnSIXeriWoWMKkjPb9NuhTSA=/232x232/filters:strip_icc():strip_exif()/f/image/bPpVR8jw7WIPyNIDlHdxlTUD.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/vjJ6aScPOx-h2drwzlc4yjjy63I=/232x232/filters:strip_icc():strip_exif()/f/image/VQqApDSx1fZJoOjVFxYaZjks.jpg?f=fotoalbum_tile
Afbeeldingslocatie: https://tweakers.net/i/rOAwx0CP7j7xdnyxl1ufpgnwXbU=/232x232/filters:strip_icc():strip_exif()/f/image/YTtz30iRqxHNucqbigLs9lsl.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/ZFDi8wxLN4K9h38EFk1Hpua2yZ8=/232x232/filters:strip_icc():strip_exif()/f/image/omZ3GoJHNO2jGA0Z7Y2QungH.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/vNG9ZEgMc-zwk_6rcWFMSxE1HYw=/232x232/filters:strip_icc():strip_exif()/f/image/gqy3XPu6zHKDtv4IOGYfOuIY.jpg?f=fotoalbum_tile
Afbeeldingslocatie: https://tweakers.net/i/bzRo3TwoMgez1_ZljjV4QYs6SQ4=/232x232/filters:strip_icc():strip_exif()/f/image/nGL6cBxnuDEIS4jiW7kSWpL9.jpg?f=fotoalbum_tile


Ook een inkijkje in het hoofdstuk over pointers, waar ik gebleven ben:

Afbeeldingslocatie: https://tweakers.net/i/pvGjvS6lR_VHpENDdR7SJmZw2mc=/232x232/filters:strip_icc():strip_exif()/f/image/2XsSDgra39YOlb3TERGOn28r.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/FRBuVF-nQEn724UkipN-AblTYTo=/232x232/filters:strip_icc():strip_exif()/f/image/lSBnL47p7q8RkeJn3Fc4efHB.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/KODxFT52-X0FvWoUON86nZzRHOY=/232x232/filters:strip_icc():strip_exif()/f/image/8z1nOus9zydFYvgshf7O5xPV.jpg?f=fotoalbum_tile
Lethalis schreef op zondag 20 juni 2021 @ 22:16:
Punt is namelijk vooral wat het doel nu is. Leer je C om de absolute basis te leren of wil je C gebruiken om er ook iets mee te maken?
Zoals ik aangaf was mijn doel uiteindelijk om de beoogde programma's te maken. Ik had hierbij aangegeven dat ik met C begonnen was los hiervan puur 1. om mijn hersenen uit te dagen, 2. omdat mijn inschatting was dat ik na doorgronden van C gemakkelijker de taal die nodig zou zijn voor mijn beoogde programma's zou kunnen leren en 3. omdat mijn inschatting was dat ik gemakkelijker ook een andere taal zou kunnen leren later, mocht mijn doel veranderen. Ook al is de kans niet groot houd ik rekening met de mogelijkheid dat ik me later wil gaan omscholen, mocht ik het leuk vinden en mocht het me liggen.

Dus de taal C stond los van mijn doel om de beoogde programma's te schrijven.

Ik begrijp nu uit jullie reacties dat ik zelfs voor mijn andere doelen om C te leren ik beter een andere taal had kunnen kiezen, bijvoorbeeld BASIC. 😁
Lethalis schreef op zondag 20 juni 2021 @ 22:16:
Een simpele webrequest maken via HTTPS wordt in C al gauw een ding (libcurl helpt), terwijl andere talen daar gewoon eenvoudige classes en functies voor hebben. Alleen omdat je in C op een lager niveau zit, word je blootgesteld aan wat in die andere talen achter de schermen gebeurt.

Als je in .Net 5 bijvoorbeeld de HttpClient gebruikt, dan spreekt het framework achter de schermen ook libcurl aan. Alleen wordt de complexiteit daarvan voor jou verborgen, terwijl je het in C allemaal zelf mag gaan oplossen.

Er gebeurt ook best veel. DNS naam resolven naar een IP adres, SSL/TLS kanaal opzetten over een TCP client socket, data versturen en ontvangen, waarbij je in C altijd low level met een gereserveerd stukje geheugen moet werken en dat moet managen waarbij die infameuze pointers regelmatig om de hoek komen kijken (sowieso voor zo ongeveer alles, een libcurl handle is ook gewoon een pointer naar een stuk geheugen). Daarnaast moet je de data parsen.

Je kunt de voorbeelden zo vinden waar mensen bijna 100 regels C code schrijven voor iets dat in Java of C# in 10 regels kan.
Precies dus dat het - àl zou ik geen webapplicaties willen maken, maar alleen een taal leren om later het doel te bepalen - beter was geweest om met een andere taal te beginnen.

Sterker nog: dat het misschien beter is om nu al C te laten varen en Java of C# te leren of zoals @Hydra zei te beginnen met een cursus webapplicaties en de taal die daar gebruikt wordt aan te houden.

Enige is of het wel beter zou zijn gezien het feit dat ik redelijk "ver" al ben met C, dus daar zou ik je mening graag over willen horen.
Lethalis schreef op zondag 20 juni 2021 @ 22:16:
Op zich kan het leren over memory management geen kwaad, omdat het je later ook helpt om in talen als C# te begrijpen waarom sommige objecten gedisposed moeten worden en andere simpelweg door de garbage collector worden opgeruimd.
Inderdaad, dat zouden dan de voordelen zijn ...
Lethalis schreef op zondag 20 juni 2021 @ 22:16:
Maar de vraag blijft natuurlijk wel of het handig is om meteen de diepte in te gaan ipv de breedte en zo snel mogelijk "iets" te bouwen op een hoger / eenvoudiger niveau (geeft in het begin meer voldoening).
Daar zit ook wat in.
Lethalis schreef op zondag 20 juni 2021 @ 22:16:
In Java of C# zou je bijvoorbeeld leren hoe je weerdata kunt opvragen bij een web api, zonder je over al die bovenstaande dingen echt druk te maken. Je maakt een WeatherData class met de juiste velden, je roept even een generieke functie aan met de url en het type van jouw class en je krijgt hem meteen gevuld terug.

Errors nog even afvangen en klaar. Parsen / deserializen van JSON of XML wordt vaak al voor je gedaan.
Klinkt verleidelijk.
Lethalis schreef op zondag 20 juni 2021 @ 22:16:
In C val je dan van de ene uitdaging in de andere.
Of:

In C val je met je neus in de boter van de ene uitdaging in de andere. 😇

Acties:
  • +1 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
Letsdothis schreef op maandag 21 juni 2021 @ 08:48:
[...]
Nou, ik had eerste instantie The Programming Language van Brian W. Kernighan en Dennis M. Ritchie (ISBN 0-13-110362-8) besteld omdat op dit forum en elders op internet dit boek vaak werd aangeraden. Ik begreep echter niks uit dit boek. Volgens mij was het ook meer bedoeld als naslagwerk voor diegenen die al konden programmeren met C.

Daarna ben ik aan de slag gegaan met Programmeren met C voor dummies van Dan Gookin (ISBN 978-90-453-5486-6). Bij deze de afbeeldingen van de inhoudsopgave:
Dat eerste boek is inderdaad wat meer een naslagwerk. Het tweede boek lijkt me een prima introductie tot C. Sommige dingen lijken vanuit de inhoudsopgave als "geavanceerd" of "complex" beschreven te worden, terwijl het tot de absolute basis behoort.

Pointers en meerdere modules gebruiken is standaard. Het zit overal. Het is niet geavanceerd :)
Ik begrijp nu uit jullie reacties dat ik zelfs voor mijn andere doelen om C te leren ik beter een andere taal had kunnen kiezen, bijvoorbeeld BASIC. 😁
Nou, in ieder geval een taal met een hoger abstractieniveau.

Misschien dat ik mij daarmee duidelijker uitdruk.

Anno nu zou ik gewoon Java of C# doen. Waarbij @Hydra gelijk heeft, dat de taal in het begin nog ondergeschikt is aan het leren programmeren in het algemeen.

Daarom geef ik ook aan dat het voor de absolute basis niet per se slecht is dat je C doet, maar dat het een onhandige taal is om later ook echt dingen mee te bouwen, vanwege het lagere abstractieniveau.
Sterker nog: dat het misschien beter is om nu al C te laten varen en Java of C# te leren of zoals @Hydra zei te beginnen met een cursus webapplicaties en de taal die daar gebruikt wordt aan te houden.

Enige is of het wel beter zou zijn gezien het feit dat ik redelijk "ver" al ben met C, dus daar zou ik je mening graag over willen horen.
Je bent wellicht redelijk "ver" in het boek voor dummies, maar niet "ver" met C :)

Ik zou zeggen, rond dit boek eerst af en ga daarna iets leren dat meer past bij wat je wil gaan maken. Koop inderdaad een boek over het maken van webapplicaties bijvoorbeeld. Of volg een cursus.

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


Acties:
  • 0 Henk 'm!

  • Letsdothis
  • Registratie: Juni 2021
  • Laatst online: 29-07-2022
Lethalis schreef op maandag 21 juni 2021 @ 09:40:
Dat eerste boek is inderdaad wat meer een naslagwerk. Het tweede boek lijkt me een prima introductie tot C. Sommige dingen lijken vanuit de inhoudsopgave als "geavanceerd" of "complex" beschreven te worden, terwijl het tot de absolute basis behoort.

Pointers en meerdere modules gebruiken is standaard. Het zit overal. Het is niet geavanceerd :)
Woops. 😁
Lethalis schreef op maandag 21 juni 2021 @ 09:40:
Nou, in ieder geval een taal met een hoger abstractieniveau.

Misschien dat ik mij daarmee duidelijker uitdruk.

Anno nu zou ik gewoon Java of C# doen. Waarbij @Hydra gelijk heeft, dat de taal in het begin nog ondergeschikt is aan het leren programmeren in het algemeen.

Daarom geef ik ook aan dat het voor de absolute basis niet per se slecht is dat je C doet, maar dat het een onhandige taal is om later ook echt dingen mee te bouwen, vanwege het lagere abstractieniveau.
Helder.
Lethalis schreef op maandag 21 juni 2021 @ 09:40:
Ik zou zeggen, rond dit boek eerst af en ga daarna iets leren dat meer past bij wat je wil gaan maken. Koop inderdaad een boek over het maken van webapplicaties bijvoorbeeld. Of volg een cursus.
Duidelijk. Ga ik doen! Thanks voor het meedenken!
Lethalis schreef op maandag 21 juni 2021 @ 09:40:
Je bent wellicht redelijk "ver" in het boek voor dummies, maar niet "ver" met C :)
En ik mij maar op de borst kloppen. 🙄😂
Pagina: 1