Koodaaminen

Käytöstä poistettujen kategorioiden info löytyy täältä. HUOM! Sisältää oikeasti 100% roskaa, lukeminen omalla vastuulla.
Post Reply
Message
Author
User avatar
Marxin Ryyppy
-=Lord Of PIF=-
-=Lord Of PIF=-
Posts: 14162
Joined: 02 Mar 2020, 18:55
Location: Ylen sankia pride

Re: Koodaaminen

#856 Post by Marxin Ryyppy » 24 Mar 2024, 13:09

Henkkamaukka Perusjätkä wrote:
24 Mar 2024, 08:55
Totta vai tarua? :o
Boot.Dev wrote:The second programming language you learn takes roughly 10% of the effort that the first one took, because so many of the concepts are the same - usually the syntax is just a bit different.
Soveltaakseni vanhaa viisautta, 90% opettelusta vie 90% ja loput 10% vie toiset 90%.

Kaks toisistaan poikkeavaa, mutta ei liikaa, on paras. Jos kielet on turhan lähellä niin kompastelee käyttäessään aiemman idioomia uuden kanssa, ja jos ne poikkeaa toisistaan paljon niin sitten sen koko logiikan joutuu opettelemaan uusiksi.

Jos on tottunut vaikka tunkkaamaan javaskriptaa niin onhan siitä aikamoinen hyppy johonkin Lispiin tai FP-kieliin.
Image Who am I? Who else is there? Who am I? Let's put it this way: who has the best tunes?

User avatar
Santeri Endman
Matti Partanen
Matti Partanen
Posts: 60933
Joined: 18 Nov 2018, 18:55

Re: Koodaaminen

#857 Post by Santeri Endman » 24 Mar 2024, 15:36

^tohon sopid tämmönen sanonta että concepts are few methods are many
Y Image L Image EI OO NImageLImage

Image

User avatar
Henkkamaukka Perusjätkä
Matti Partanen
Matti Partanen
Posts: 51630
Joined: 10 Aug 2014, 10:04
Location: Saundi Arabia

Re: Koodaaminen

#858 Post by Henkkamaukka Perusjätkä » 30 Mar 2024, 15:14

Humble Bundlessa Manningin kirjoja iso satsi. Kaikenlaista halvalla. Ihan sikahintaisia noiden kirjat. 69€ paperinen ja monta kymppiä ebook Kindlessä. Pelkästään toi kehuttu 100 Go Mistakes and How to Avoid Them -kirja on varmaan ton parin kympin arvoinen.
Image

User avatar
badger
9k
Posts: 9034
Joined: 15 Feb 2016, 19:46

Re: Koodaaminen

#859 Post by badger » 31 Mar 2024, 19:24

tekis mieli opetella c# (vaikka uskonkin, että microsoft muuttaa sen jossain vaiheessa semmoseks, että tarvitaan joku vitun windows for linux systems, että se toimii) niin niin mikähän ois hyvä kirja tms. tämmöselle, joka osaa jonkun verran ohjelmoida

User avatar
Henkkamaukka Perusjätkä
Matti Partanen
Matti Partanen
Posts: 51630
Joined: 10 Aug 2014, 10:04
Location: Saundi Arabia

Re: Koodaaminen

#860 Post by Henkkamaukka Perusjätkä » 06 Apr 2024, 18:25

Nopeasti katsoin redditistä ja vaikutti kehuvan:

Pro C# by Andrew Troelsen
C# in Depth” by Jon Skeet

Ja vaikuttaisi jälkimmäisen ohella olevan Manningilla:

Code Like a Pro in C# by Jort Rodenburg

Edit. Eka ja vika aloittelijoille ja keskimmäinen kehutuin
Image

User avatar
Henkkamaukka Perusjätkä
Matti Partanen
Matti Partanen
Posts: 51630
Joined: 10 Aug 2014, 10:04
Location: Saundi Arabia

Re: Koodaaminen

#861 Post by Henkkamaukka Perusjätkä » 06 Apr 2024, 20:33

Koodaatteko te Pythonin taitajat miten pitkiä pätkiä putkeen?

Ts. onko kumpi näistä järkevämpi tapa koodata?

1. Sellainen 25 rivin if/elif/else -blokki, jossa on useampia ehtoja.
2. Tällainen, että jakaa ne ehtojen mukaan erillisiin funktioihin ja kutsuu niitä sitten. Selkeämpi varmaan lukea, mutta pitää sitten duunata enemmän noita erillisiä fuktioita.

Code: Select all

def get_answer(chosen):
    if chosen == "a" or chosen == '1':
        return add(chosen)
    elif chosen == "b" or chosen == '2':
        return mul(chosen)
    elif chosen == "c" or chosen == '3':
        return div(chosen)
    else:
        main()
Image

User avatar
ei vittu mikä meno
voisitteko ystävällisesti kertoa
Posts: 59747
Joined: 20 Feb 2009, 05:31
Location: hautuumaa
Contact:

Re: Koodaaminen

#862 Post by ei vittu mikä meno » 06 Apr 2024, 20:54

Mites toi switch?
Image

Hyvin argumentoitu (64): Ihmiskintaat käteen ja kohti uusia pettymyksiä!

Image

User avatar
ei vittu mikä meno
voisitteko ystävällisesti kertoa
Posts: 59747
Joined: 20 Feb 2009, 05:31
Location: hautuumaa
Contact:

Re: Koodaaminen

#863 Post by ei vittu mikä meno » 06 Apr 2024, 21:00

Eikun jaa Pythonissa ei ole switchiä. 3.10 eteenpäin näemmä pattern matching https://docs.python.org/3.10/whatsnew/3 ... n-matching

En jaksa tarkistaa miten siinä menee noi disjuntiiviset ehdot mut varmaan jotenkin näppärästi
Image

Hyvin argumentoitu (64): Ihmiskintaat käteen ja kohti uusia pettymyksiä!

Image

User avatar
Santeri Endman
Matti Partanen
Matti Partanen
Posts: 60933
Joined: 18 Nov 2018, 18:55

Re: Koodaaminen

#864 Post by Santeri Endman » 06 Apr 2024, 21:22

Miten nyt milloinkin. Yleensä en halua tehdä erillistä funktiota jos sitä kutsutaan vain yhdestä paikasta mutta jos se on joku monimutkainen homma nii sitten erillinen funktio.
Y Image L Image EI OO NImageLImage

Image

User avatar
Henkkamaukka Perusjätkä
Matti Partanen
Matti Partanen
Posts: 51630
Joined: 10 Aug 2014, 10:04
Location: Saundi Arabia

Re: Koodaaminen

#865 Post by Henkkamaukka Perusjätkä » 06 Apr 2024, 21:24

Kaipa toi "do one thing and do it well" tms. vastaa kysymykseeni, eli lyhyttä funktiota vaan ja poikkeustapauksissa yli 10 riviä.
Image

User avatar
Henkkamaukka Perusjätkä
Matti Partanen
Matti Partanen
Posts: 51630
Joined: 10 Aug 2014, 10:04
Location: Saundi Arabia

Re: Koodaaminen

#866 Post by Henkkamaukka Perusjätkä » 06 Apr 2024, 21:25

Toi on kyllä just se syy, miksi asiaa mietin, kun tosiaan kutsutaan vain yhdestä paikasta. Pääasiassa. Sellaisia rajaavia ehtoja, että ei voi hyödyntää funktiota monelle eri vaihtoehdolle.
Image

User avatar
ei vittu mikä meno
voisitteko ystävällisesti kertoa
Posts: 59747
Joined: 20 Feb 2009, 05:31
Location: hautuumaa
Contact:

Re: Koodaaminen

#867 Post by ei vittu mikä meno » 06 Apr 2024, 21:26

Ja niin en tajunnut kysymystä. Mut varmaan just niin kuin Endman sanoo joskin tosiaan musta ihan järkevää jäsentää koodia funktioiden avulla vaikka niitä kutsuttaisiinkin vaan kerran. Siis jos toi on vaikka ohjelman perusrunko niihin mieluummin noin kuin et olis sata riviä koodia tossa joka välissä
Image

Hyvin argumentoitu (64): Ihmiskintaat käteen ja kohti uusia pettymyksiä!

Image

User avatar
Santeri Endman
Matti Partanen
Matti Partanen
Posts: 60933
Joined: 18 Nov 2018, 18:55

Re: Koodaaminen

#868 Post by Santeri Endman » 06 Apr 2024, 21:26

Riippuu varmaan kaikesta. Ite teen pyyttonilla lähinnä testausta niin siinä tulee hirvee määrä kaikkea rimpsua ja tarkistusta joka väliin niin pitkiä funktioita tulee. Testauksessa kans monesti joissain jutuissa halutaan että asioita ei "piiloteta" funktioihin vaan että kaikki näkyy selvästi siinä niin.
Y Image L Image EI OO NImageLImage

Image

User avatar
Spandau Mullet
Matti Partanen
Matti Partanen
Posts: 99709
Joined: 28 Jul 2014, 20:37
Location: Raakaa paskaa akselilta Reetunlehto-Ruksimäki

Re: Koodaaminen

#869 Post by Spandau Mullet » 06 Apr 2024, 21:27

ei vittu mikä meno wrote:
06 Apr 2024, 21:26
Ja niin en tajunnut kysymystä. Mut varmaan just niin kuin Endman sanoo joskin tosiaan musta ihan järkevää jäsentää koodia funktioiden avulla vaikka niitä kutsuttaisiinkin vaan kerran. Siis jos toi on vaikka ohjelman perusrunko niihin mieluummin noin kuin et olis sata riviä koodia tossa joka välissä
Komp. Suosittelen välttämään spaghettihelvettiä aina kun mahdollista.
Tämä nimimerkki kirjoittaa suurimmaksi osaksi Roskakori-osioon lyhyitä viestejä, joissa ei ole juurikaan sisältöä.

User avatar
Santeri Endman
Matti Partanen
Matti Partanen
Posts: 60933
Joined: 18 Nov 2018, 18:55

Re: Koodaaminen

#870 Post by Santeri Endman » 06 Apr 2024, 21:30

ei vittu mikä meno wrote:
06 Apr 2024, 21:26
Ja niin en tajunnut kysymystä. Mut varmaan just niin kuin Endman sanoo joskin tosiaan musta ihan järkevää jäsentää koodia funktioiden avulla vaikka niitä kutsuttaisiinkin vaan kerran. Siis jos toi on vaikka ohjelman perusrunko niihin mieluummin noin kuin et olis sata riviä koodia tossa joka välissä
Tää olis just se milloin monimutkaisuuden takia kannattaa laittaa erilliseen funktioon. Jotenki tälleen ehkä en tekis kuitenkaan kun tässä taas "yksinkertaistaminen" tekee hommasta monimutkaisempaa

def is_a_b(a, b):
return a == b

def main():
if is_a_b(a, b):
Prööt

:D
Y Image L Image EI OO NImageLImage

Image

Post Reply