Archief - programmeren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Beste taal om mee te beginnen?


  • Totaal aantal stemmers
    44
  • Opiniepeiling gesloten.

emerging

Legacy Member
Recipe4hate zei:
Hmm, opletten met strings te vergelijken via de == operator.
Ik denk dat Java de .Equals() hiervoor heeft.

Even voor je opgezocht, jep:


C# heeft trouwens ook heel interessante comparisons ingebouwd, zoals String.IsNullOrEmpty()


En andere tip die ik je wil meegeven:
Begin zo vroeg mogelijk aan het aanleren van duidelijke naamgevingen.
Als iemand je code overneemt en moet 200 regels doorlezen om uit te zoeken wat of hoe variabele 'str' nu is: der gaat iemand niet content zijn :)

Zo ook het gebruik van naamconventie (hierover zal veel gediscussieerd kunnen worden, maar zolang je één conventie volgt die duidelijk is voor iedereen, zal het wel ok zijn):
Code:
[B]private class variables:[/B] underscore + lowerCamelCase (vb: private int _myVariable)
[B]inner scope variables:[/B] lowerCamelCase (vb: myInnerScopeCounter)
[B]class names:[/B] CamelCase/PascalCase (vb: MyClass)
[B]constant variables:[/B] Uppercase + underscores (vb: MY_FIXED_NUMBER)
[B]properties:[/B] CamelCase (vb: MyClass.NumberOfItems)
[B]methods/functions:[/B] CamelCase (vb: MyClass.CalculateNumberOfItems())


dankje
en die 'str' heb ik niet gekozen ook, dat was al gegeven in de opgave (link van de website in vorige post). Denk dat ik dat meestal wel vrij goed doe, private class variables deed ik meestal wel met een "m" ipv "_"
op treehouse was ik begonnen, met objects ging het nog vrij goed maar bij data structures ben ik de draad helemaal kwijt geraakt -_-

Tr1ploid

Legacy Member
Ik raad gewoon VBA aan. Alt+F11 drukken in Excel en beginnen maar. Dan kun je tenminste direct wat leuke/nuttige dingen doen die je als niet-programmeur later nog kunnen helpen. En als je het in VBA wat gezien hebt, gewoon gratis Visual Studio Express downloaden en beginnen met het volwassen werk. VBA is vooral leuk omdat het gebaseerd is op de Engelse taal, dus heeft het een erg intuïtieve syntax. Geen vervelende symbolen of haakjes.

Zo ben ik toch begonnen alleszins. Maar eigenlijk zit ik nog altijd vooral met VBA te werken. Als hobbyist schrijf ik enkel vrij kleine macro's, dan heb ik geen objectgeoriënteerde taal nodig. Ik denk er wel over om eens iets uitgebreiders te doen met Visual Studio, maar ik zou een echt project voor ogen moeten hebben. Doelloos zitten uittesten is niet mijn ding.

SomeDude

Legacy Member
Recipe4hate zei:
En andere tip die ik je wil meegeven:
Begin zo vroeg mogelijk aan het aanleren van duidelijke naamgevingen.
Als iemand je code overneemt en moet 200 regels doorlezen om uit te zoeken wat of hoe variabele 'str' nu is: der gaat iemand niet content zijn :)

Klopt. Net zoals wanneer ik lees 'bread1removed' eerder een boolean verwacht dan een String ...

Recipe4hate

Legacy Member
Tr1ploid zei:
Ik raad gewoon VBA aan. Alt+F11 drukken in Excel en beginnen maar. Dan kun je tenminste direct wat leuke/nuttige dingen doen die je als niet-programmeur later nog kunnen helpen. En als je het in VBA wat gezien hebt, gewoon gratis Visual Studio Express downloaden en beginnen met het volwassen werk. VBA is vooral leuk omdat het gebaseerd is op de Engelse taal, dus heeft het een erg intuïtieve syntax. Geen vervelende symbolen of haakjes.

Zo ben ik toch begonnen alleszins. Maar eigenlijk zit ik nog altijd vooral met VBA te werken. Als hobbyist schrijf ik enkel vrij kleine macro's, dan heb ik geen objectgeoriënteerde taal nodig. Ik denk er wel over om eens iets uitgebreiders te doen met Visual Studio, maar ik zou een echt project voor ogen moeten hebben. Doelloos zitten uittesten is niet mijn ding.
Als je 'echt' wil leren programmeren, is VBA geen aanrader.
Het is vooral een quick&dirty toolset... Wel is het, zols je zegt, een leuk opstapje

Recipe4hate

Legacy Member
SomeDude zei:
Klopt. Net zoals wanneer ik lees 'bread1removed' eerder een boolean verwacht dan een String ...

Goeie opmerking.
Ik zou persoonlijk bools altijd vooraf laten gaan door een werkwoord: isAuthenticated, hasValue, canReboot etc
Net zoals ik ook mijn methods altijd begin met een werkwoord: CalculateReport(), RegisterNewUser()

SomeDude

Legacy Member
Recipe4hate zei:
Goeie opmerking.
Ik zou persoonlijk bools altijd vooraf laten gaan door een werkwoord: isAuthenticated, hasValue, canReboot etc
Net zoals ik ook mijn methods altijd begin met een werkwoord: CalculateReport(), RegisterNewUser()

Mja in Java is 'isAuthenticated' niet echt goed, want dan krijg je method isIsAuthenticated() en dat willen we ook niet :D

Recipe4hate

Legacy Member
Een methodnaam IsAuthenticated() zegt niks, dit zou functioneel gezien niet mogen bestaan.
Wat gaat deze method doen?
Ofwel ga je hier voor een public field, IsAuthenticated (bah, ni doen!) ofwel ga je hier voor een property AuthenticationStatus die een enum teruggeeft. (AuthenticationStatuses { Authenticated, NotAuthenticated, AwaitingAuthentication, etc })

Tr1ploid

Legacy Member
Recipe4hate zei:
Als je 'echt' wil leren programmeren, is VBA geen aanrader.
Het is vooral een quick&dirty toolset... Wel is het, zols je zegt, een leuk opstapje

De basis van VBA is net hetzelfde als eenderwelke andere taal. Declareren, 'als dan' statements, loops, functies, methodes. En afhankelijk van welk softwarepakket je gebruikt, leer je meteen wat het is om met een API te werken ook. het belangrijkste voordeel is dat je op een laagdrempelige manier resultaat boekt, wat belangrijk is als motivatie voor een hobbyist die in zijn vrije tijd zit te programmeren. Het heeft natuurlijk bij informatici wel een stigma omdat het 'de taal der niet-programmeurs' is, maar dat heeft te maken met de gebruikers, niet met de taal.

Recipe4hate

Legacy Member
Tr1ploid zei:
De basis van VBA is net hetzelfde als eenderwelke andere taal. Declareren, 'als dan' statements, loops, functies, methodes. En afhankelijk van welk softwarepakket je gebruikt, leer je meteen wat het is om met een API te werken ook. het belangrijkste voordeel is dat je op een laagdrempelige manier resultaat boekt, wat belangrijk is als motivatie voor een hobbyist die in zijn vrije tijd zit te programmeren. Het heeft natuurlijk bij informatici wel een stigma omdat het 'de taal der niet-programmeurs' is, maar dat heeft te maken met de gebruikers, niet met de taal.

De basis is toch echt niet hetzelfde hoor :)
Loopkes maken, dat wel, maar van zodra ge met OOP afkomt, abstracts of interfaces moet gaan definieren of byref data moet gaan doorspelen, is het gedaan.

emerging

Legacy Member
Misschien dat ik me ook eens moet bezighouden met VBA inderdaad, is in ieder geval iets dat ik meer onmiddellijk kan gebruiken in Excel, Word op m'n werk...
Maar de komende daagjes toch maar wat focussen op mijn laatste exaampjes, dan heb ik terug wat meer tijd om me bezig te houden met java/VBA

SomeDude

Legacy Member
Recipe4hate zei:
Een methodnaam IsAuthenticated() zegt niks, dit zou functioneel gezien niet mogen bestaan.
Wat gaat deze method doen?
Ofwel ga je hier voor een public field, IsAuthenticated (bah, ni doen!) ofwel ga je hier voor een property AuthenticationStatus die een enum teruggeeft. (AuthenticationStatuses { Authenticated, NotAuthenticated, AwaitingAuthentication, etc })

euhm dat is gewoon java convention ze:
boolean authenticated

accessor method:
public boolean isActive(){return this.active;}

en methodenamen altijd lower case beginnen (doe jij precies ook niet als ik zo op vorige pagina zie)

Recipe4hate

Legacy Member
SomeDude zei:
euhm dat is gewoon java convention ze:
boolean authenticated

accessor method:
public boolean isActive(){return this.active;}

en methodenamen altijd lower case beginnen (doe jij precies ook niet als ik zo op vorige pagina zie)

Nope, ik volg .NET conventions.
Ik ben geen fan van Java / JS conventies.
Zeker wat betreft de scope-haakjes, bah! :D

SomeDude

Legacy Member
Recipe4hate zei:
Nope, ik volg .NET conventions.
Ik ben geen fan van Java / JS conventies.
Zeker wat betreft de scope-haakjes, bah! :D

Ok dan snap ik het. Want .NET stinkt! :hug:

Emerxill

Legacy Member
Recipe4hate zei:
Een methodnaam IsAuthenticated() zegt niks, dit zou functioneel gezien niet mogen bestaan.
Wat gaat deze method doen?
Ofwel ga je hier voor een public field, IsAuthenticated (bah, ni doen!) ofwel ga je hier voor een property AuthenticationStatus die een enum teruggeeft. (AuthenticationStatuses { Authenticated, NotAuthenticated, AwaitingAuthentication, etc })
Say what? :wtf:

isAuthenticated komt toch ook in .net voor!? Die method geeft de state van een boolean die (toevallig) "authenticated" heet terug.
Daar is toch niks mis met die naam isXXX. Ga je alle booleans omzeilen door daar enums van te maken?

Recipe4hate zei:
Nope, ik volg .NET conventions.
Ik ben geen fan van Java / JS conventies.
Zeker wat betreft de scope-haakjes, bah! :D

Die best practices, waarvan een getter voor een boolean isXXX er één is is niet enkel op Java van toepassing. Hetzelfde geldt voor die scope braces. Wat is daar nu "bah" aan?

Gij schrijft precies graag veel moeilijk leesbare overcomplexified code :p

Recipe4hate

Legacy Member
Emerxill zei:
Say what? :wtf:

isAuthenticated komt toch ook in .net voor!? Die method geeft de state van een boolean die (toevallig) "authenticated" heet terug.
Daar is toch niks mis met die naam isXXX. Ga je alle booleans omzeilen door daar enums van te maken?



Die best practices, waarvan een getter voor een boolean isXXX er één is is niet enkel op Java van toepassing. Hetzelfde geldt voor die scope braces. Wat is daar nu "bah" aan?

Gij schrijft precies graag veel moeilijk leesbare overcomplexified code :p

Ik had het vooral op isAuthenticated vs IsAuthenticated.
Om daar een enum voor te plaatsen is misschien een beetje overkill.

Over de haakjes:
Code:
Public void MyMethod() {
}

Vs

Code:
Public void MyMethod() 
{
}

Dan vind ik het 2e veel leesbaarder. Java en JS doen echter de eerste.
Zeker als het een if-else is:
Code:
If (true) {
} else {
}

metalleke

Legacy Member
Recipe4hate zei:
Ik had het vooral op isAuthenticated vs IsAuthenticated.
Om daar een enum voor te plaatsen is misschien een beetje overkill.

Over de haakjes:
Public void MyMethod() {
}

Vs

Public void MyMethod()
{
}

Dan vind ik het 2e veel leesbaarder. Java en JS doen echter de eerste.
Zeker als het een if-else is:
If (true) {
} else {
}

Als je 2e zou volgen zou je dit doen lijkt me?

Code:
if(true) 
{
} else {
}

metalleke

Legacy Member
Recipe4hate zei:
Klopt. Waar wil je naartoe?

Gewoon interesse. Ik heb vroeger nog in .net ontwikkeld en vond dit een zeer slechte keuze (kwestie van code stijl).
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan