Praca licencjacka OOP

Odpowiedz Nowy wątek
2016-04-03 11:27
Wielki Krawiec
0

Piszę prostą, stricte teoretyczną pracę licencjacką, gdzie w ostatnim rozdziale będę porównywał ze sobą kilka wybranych języków programowania w jaki sposób i w jakim stopniu implementują paradygmat OOP. Docelowo zamierzam wybrać 3 języki do takiego zestawienia ale nie jestem do końca pewien jakie. Do tej pory mam taki zbiór, z którego chcę coś wybrać: Java, C#, Scala, Ruby, Python, Smalltalk, PHP, może JS?

Chodzi o to, aby te 3 języki nie były bardzo podobne do siebie (czyli np C# i Java jednocześnie odpada) i realizowały chociaż w małym stopniu OOP (czyli nie będę brał np. Haskella). Który język wygra to zestawianie nie jest szczególnie ważne, ma być przede wszystkim obiektywna ocena.

Stąd moje pytanie czy polecacie jakieś ciekawe języki, które warto byłoby opisać i przy okazji się czegoś nauczyć? Pytam, bo nie jestem ekspertem i do tej pory miałem styczność z zaledwie kilkoma językami.

Pozostało 580 znaków

2016-04-03 11:34
1

Smalltalk, ruby i java - już masz kupę naprawdę odmiennych podejść

Pozostało 580 znaków

2016-04-03 13:56
1

Jak chcesz faktycznie pokazać "różne" języki to ja bym jednak brał np. JavaScript, Ocaml (taki Haskell ale z obiektowością :P), Scala i jakiś imperatywny język jak Java.
Branie samych imperatywnych i bardzo podobnych języków wydaje sie bez sensu bo po prostu wszystko będzie do siebie bardzo podobne ;]


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
Scala nie ma sensu w tym, bo to to samo podejście do obiektowości co w Javie/C#. - n0name_l 2016-04-03 14:08
@n0name_l no chyba nie za bardzo. Java nie ma chociażby case classes czy traitów ;] - Shalom 2016-04-03 14:11
No nie żartuj, record type ma tyle wspólnego z obiektowościa co nic, a traity to interfejsy, poza mixinami nic absolutnie nie dochodzi.. - n0name_l 2016-04-03 14:12

Pozostało 580 znaków

2016-04-03 14:23
Wielki Krawiec
0

Przede wszystkim chodzi o przedstawienie różnych podejść do OOP i ocenę stopnia realizacji OOP tych podejść.
Na pewno jeden język będzie z worka w którym są np. Java, C#, C++ więc jako ten typ języka prawdopodobnie wybiorę C#, ponieważ jest mi do niego najbliżej. Smalltalk wpasowywałby się jako drugi język czysto obiektowy, ale nie wiem, wydaje mi się dość nie na czasie? Bardziej bym się skłaniał w stronę Ruby'ego. Do tego wrzuciłbym może JS jako coś skryptowego z OOP. Co sądzicie o takiej kombinacji: C#, Ruby i JavaScript?

Pozostało 580 znaków

2016-04-03 14:27
0

IMO zróżnicowany zestaw to będzie: Smalltalk + jakikolwiek spośród: (Java, C#, Python, Ruby, Php) + Javascript.
Smalltalk - porozumiewanie się przez wiadomości, system "aktorów", jeden z pierwszych pomysłów na OOP,
Java/Python/Ruby itd. - obecnie najpopularniejsze podejście do OOP,
Javascipt - OOP oparte na prototypach zamiast klas.

Edit: @Up: A czemu ma być na czasie? Tym lepiej - pokazuje początkowy zamysł na OOP i jak się zmieniło. Taki Ruby i C# nie różnią się za bardzo pod względem OOP (hmm... mixiny zamiast interfejsów? nie pisałem w ruby).

edytowany 2x, ostatnio: Wizzie, 2016-04-03 14:30
edit: ew. jak pisal Shalom wez pod lupe OCamla zamiast JavaScriptu - Wizzie 2016-04-03 14:35

Pozostało 580 znaków

2016-04-04 11:15
Świetny Kaczor
0

Dzięki za odpowiedzi, poczytałem trochę i także sugerując się waszym zdaniem, zdecydowałem się na C#, JavaScript i SmallTalk

Pozostało 580 znaków

2016-04-04 19:00
0

Na Twoim miejscu rozważałbym przedstawienie Javy i Rubiego. Są to dwa najbardziej popularne z wymienionych przez Ciebie języków, a znacząco się różnią.
Java jest językiem statycznie typowanym, Ruby dynamicznie. Java jest silnie typowana, podczas gdy Ruby tylko w zasadzie też. Java opiera OOP na polimorfizmie i dziedziczeniu, podczas gdy Ruby opiera się na duck-typingu i mixinach. Ruby wspiera otwarte klasy, gdy Java jest zamknięta. Do tego Java nie jest w pełni obiektowa - typy prymitywne, metody statyczne, podczas gdy w Rubim wszystko jest obiektem. Do tego dodałbym informacje jakie to ma przełożenie na performance oraz możliwości języka.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0