Τα πάντα για την java

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Απορίες σε java

Δημοσίευσηαπό migf1 » 05 Ιαν 2012, 06:08

Η αντικειμενοστρέφεια δεν είναι πανάκεια φίλε giannosfor. Μάλιστα διάβαζα πριν λίγες εβδομάδες πως στο Carnegie (το top Computer Science πανεπιστήμιο) την βγάζουν τελείως εκτός ύλης στα πρώτα έτη, μιας και από τη φύση της αντιτιθεται στο parallelization (το οποίοι δείχνει να είναι το μέλλον).

Η ουσία είναι αυτό που εγραψα και πριν, πως τα πάντα είναι σχετικά, ανάλογα τις εκάστοτε ανάγκες, συνθήκες αλλά και περιστάσεις. Το ότι το structured programming προηγήθηκε χρονικά του OOP, δεν σημαίνει πως το δεύτερο αποτελεί το επόμενο βήμα του δεύτερου. Έχουν και τα 2 θέση, χρησιμότητα και εφαρμογές (όπως τα έχει και το functional programing, ο 3ος της παρέας).

Οπότε νομίζω δεν πρέπει να προεξοφλείς σε κάποιον ότι θα του αρέσει κάτι επειδή αρεσει σε σένα, ή επειδή αρέσει σε πολλούς. Το OOP είναι πολύ καλό για πολύ μεγάλα πρότζεκτ, κομμάτια των οποίων αναπτύσσονται ξεχωριστά, συνήθως από ξεχωριστές ομάδες προγραμματιστών. Και για πράγματα που μπορούν όντως να εκφραστούν ως αντικείμενα (κάτι που στον πραγματικό κόσμο, προβλήματα του οποίου καλούνται να επιλύσουν τα προγράμματα, δεν αποτελεί κανόνα).

Σε μεσαία και μικρά πρότζεκτ, το OOP ανεβάζει αχρείαστα την πολυπλοκότητα και το overhead. Σε κάθε περίπτωση όμως χρειάζεται βαθιά γνώση για να μη καταλήξει abused και κυρίως misused... που είναι πολύ συνηθισμενο.

Άν τα Αγγλικά σου είναι καλά και έχεις κάποια στιγμή όρεξη, διάβασε αυτό το άκρως απολαυστικό (πιστεύω και αποκαλυπτικό για πολλούς) άρθρο: http://steve-yegge.blogspot.com/2006/03 ... nouns.html

Ελπίζω να είναι αντιληπτό πως δεν είμαι πολέμιος του OOP, απλώς όπως όλα τα υπόλοιπα στον προγραμματισμό πρόκειται για ένα ακόμα trade-off, που αυτόματα σημαινει πως πρέπει κι αυτό να υπόκειται στην ίδια μελέτη για την καταλληλότητά του ή όχι για την επίλυση κάποιου προβλήματος. Όπως κάθε άλλο είδος προγραμματισμού. Προφανώς οφείλει να έχει επαφή με όλα όποιος σκοπεύει να ασχοληθεί επαγγελματικά.
Go under the hood with C: Pointers, Strings, Linked Lists
Άβαταρ μέλους
migf1
powerTUX
powerTUX
 
Δημοσιεύσεις: 2082
Εγγραφή: 03 Ιουν 2011, 16:32
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 05 Ιαν 2012, 17:24

@migf1 χαίρομαι που έχουμε μία συζήτηση σε μορφή διαλόγου και όχι διαμάχης.
Να ξέρεις ότι συμφωνώ με αυτά,και αν μπορέσω θα διαβάσω και το άρθρο παρόλο
που δυσκολεύομαι.

Θα μείνω στο τελευταίο που είπες
migf1 έγραψε: Προφανώς οφείλει να έχει επαφή με όλα όποιος σκοπεύει να ασχοληθεί επαγγελματικά.

migf1 έγραψε:Η αντικειμενοστρέφεια δεν είναι πανάκεια φίλε giannosfor. Μάλιστα διάβαζα πριν λίγες εβδομάδες πως στο Carnegie (το top Computer Science πανεπιστήμιο) την βγάζουν τελείως εκτός ύλης στα πρώτα έτη, μιας και από τη φύση της αντιτιθεται στο parallelization (το οποίοι δείχνει να είναι το μέλλον).

Μακάρι να σπουδάζαμε και εμείς στο Carnegie οι περισσότεροι τελειώνουμε ένα ΤΕΙ,στο οποίο μαθαίνουμε λίγα
πράγματα από C.Δεν είναι το ίδιο.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 06 Ιαν 2012, 00:29

Κώδικας: Επιλογή όλων
public class Reference {


public static void main(String args[])
{
Reference2 object = new Reference2();

Reference2 save = object;

save.Display();
}
}


Δηλαδη με αυτο εγω οριζω μια αναφορα τύπου κλάσης Reference2 και την βάζω να "δειχνει" στο αντικείμενο που έχω δημιουργήσει πιο πάνω? σε ενα στιγμιοτυπο της κλάσης δηλαδη.... οποτε μετα ειναι ισοδυναμο το save.Display() με το object.Display()
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 06 Ιαν 2012, 18:36

Αυτό είναι ένα καλύτερο παράδειγμα.
Επιτέλους λίγος κώδικας.
Κώδικας: Επιλογή όλων
public class Example {

private int i;

public Example(int e) {
i = e;
}

public int getNumber() {
return i;
}

public static void main(String args[]) {
Example example= new Example(1);
Example duplicate = example;
System.out.println(duplicate.getNumber());
}
}

Το duplicate και το example δίχνουν στο ίδιο αντικείμενο.
Άρα επικαλούνται την ίδια μέθοδο άρα το ίδιο αποτέλεσμα.

Ακόμα ένα παράδειγμα λίγο πιο προχωρημένο
Κώδικας: Επιλογή όλων
class Duplicate {

private static int i = 0;

public Duplicate() {
i++;
}

public String toString() {
return "This is Duplicate Object " + i;
}
}

public class DuplicateMain {

public static void main(String args[])
{
Duplicate dupli = new Duplicate();
System.out.println(dupli);

Duplicate copy = dupli;
System.out.println(copy);

Duplicate dpl = new Duplicate();
System.out.println(dpl);
}
}
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 07 Ιαν 2012, 03:27

Μην πάρει κανεις αυτο το βιβλίο.

http://www.ebooks.gr/book/%CF%80%CF%81% ... java-11723

οχι πως το αγορασα φυσικα... αλλα το ειχα παρει απο την σχολη παλια οταν ημουν 1ο ετος.

3-4 φορες που το ανοιξα για μερικες εννοιες στην Java δεν βοηθησε καθόλου. Μάπα το καρπούζι για μενα.
Πιστευω οποιος το παρει θα κλαψει τα λεφτα του.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό pc_magas » 07 Ιαν 2012, 12:52

@giannosfor
Στην Κλάση Duplicate πως μπορείς σε μια NON-Static μέθοδο να βάζεις static μεταβλητές?

Ακόμη ένα είναι το βιβλίο (να μην Πω η ΒΙΒΛΟΣ)
http://www.books.gr/ViewShopProduct.aspx?Id=5522890

Επίσεις και μερικα tutorials για java από τον καθηγητή μου όπου μας έκανε στο τει Λαμίας:
http://rtsimage.di.uoa.gr/iakovidis/java.htm
My blog|Κυπριακή Κοινότητα Ελευθέρου Λογισμικού Λογισμικού ανοικτού Κώδικα
Γνώσεις Linux:Ποτέ αρκετές|Προγραμματισμός: Php, javascript, nodejs, python, bash |Aγγλικά:Καλά
Οι υπολογιστές μου:
Spoiler: show
Ubuntu 16.04 64 bit σεIntel(R) Pentium(R) CPU G4400 @ 3.30GHz, 16Gib Ram, 500Gib Hard Disk, και κάρτα γραφικών Nvidia Geforce GT610
Lubuntu 14.04 σε Dell Inspiron mini 10(1010) intel Atom Z500 1Gb ram και gma500 (εδώθη σε άλλον)
Kubuntu 16.04 Lenovo G70 Intel i5 Nvidia Grapgics Card, Intel Graphics card (έχει 2) με Nouveau, 16Gb RAM, 126GB SSD Σκληρό Δίσκο
Άβαταρ μέλους
pc_magas
powerTUX
powerTUX
 
Δημοσιεύσεις: 2598
Εγγραφή: 12 Απρ 2009, 18:55
Τοποθεσία: Αχαρναί Αττικής
Launchpad: pc_magas
IRC: pc_magas
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 07 Ιαν 2012, 17:22

Star_Light έγραψε:Μην πάρει κανεις αυτο το βιβλίο.

http://www.ebooks.gr/book/%CF%80%CF%81% ... java-11723

οχι πως το αγορασα φυσικα... αλλα το ειχα παρει απο την σχολη παλια οταν ημουν 1ο ετος.

3-4 φορες που το ανοιξα για μερικες εννοιες στην Java δεν βοηθησε καθόλου. Μάπα το καρπούζι για μενα.
Πιστευω οποιος το παρει θα κλαψει τα λεφτα του.


Ίσως δε πρέπει να πάρουν κανένα απο αυτά τα βιβλία.
Είναι βιβλία που απ'οτι κατάλαβα τα έχουν γράψει καθηγητές πανεπιστημίων και μή
και με τον ένα ή με τον άλλο τρόπο τα έχουν προωθήσει στα ιδρύματα.
Και με αυτό το τρόπο τσιμπάνε αρκετά λεφτά.
Ίσως είναι και επειδή είναι φτηνά.

Και'γω έχω ένα βιβλίο από αυτά που δείχνει η σελίδα,το έχω πάρει απ'τη σχολή,και είναι μέτριο
για να μη πω κακό.

Προτιμάτε ξενόγλωσσα,και αν δε τα καταφέρνετε τότε μεταφρασμένα.
Αν και πάλι μπερδεύονται τα πράγματα με τις ορολογίες που τις
μεταφράζουν όλες ενώ δε πρέπει.
Τελευταία επεξεργασία από giannosfor και 07 Ιαν 2012, 17:42, έχει επεξεργασθεί 2 φορά/ες συνολικά
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό giannosfor » 07 Ιαν 2012, 17:29

pc_magas έγραψε:Στην Κλάση Duplicate πως μπορείς σε μια NON-Static μέθοδο να βάζεις static μεταβλητές?

Νομίζω δεν υπάρχει πρόβλημα.
Όπως βλέπεις το παράδειγμα δουλεύει.

Αν έχεις κάποιο παράδειγμα που δε δουλεύει στείλτο να δούμε τους περιορισμούς.

Νομίζω χωρίς να είμαι καθόλου σίγουρος ότι δε μπορείς να χρησιμοποιήσεις μία non-static μεταβλητή
σε μία static μέθοδο.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Άβαταρ μέλους
giannosfor
punkTUX
punkTUX
 
Δημοσιεύσεις: 297
Εγγραφή: 24 Απρ 2011, 20:24
Τοποθεσία: Ηράκλειο
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 07 Ιαν 2012, 19:05

giannosfor έγραψε:
Ίσως δε πρέπει να πάρουν κανένα απο αυτά τα βιβλία.
Είναι βιβλία που απ'οτι κατάλαβα τα έχουν γράψει καθηγητές πανεπιστημίων και μή
και με τον ένα ή με τον άλλο τρόπο τα έχουν προωθήσει στα ιδρύματα.
Και με αυτό το τρόπο τσιμπάνε αρκετά λεφτά.
Ίσως είναι και επειδή είναι φτηνά.

Και'γω έχω ένα βιβλίο από αυτά που δείχνει η σελίδα,το έχω πάρει απ'τη σχολή,και είναι μέτριο
για να μη πω κακό.

Προτιμάτε ξενόγλωσσα,και αν δε τα καταφέρνετε τότε μεταφρασμένα.
Αν και πάλι μπερδεύονται τα πράγματα με τις ορολογίες που τις
μεταφράζουν όλες ενώ δε πρέπει.


Εγω πιστευω και τα 24ωρα βιβλια του ΓΚιουρδα για τις γλωσσες ειναι πολυ καλα.

http://www.mgiurdas.gr/book-531.aspx

το βιβλιο που ποσταρα στο προηγουμενο ποστ για μενα παντα ειναι ακαταλληλο για εναν αρχαριο.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

Re: Απορίες σε java

Δημοσίευσηαπό Star_Light » 08 Ιαν 2012, 22:11

pc_magas έγραψε:@giannosfor
Στην Κλάση Duplicate πως μπορείς σε μια NON-Static μέθοδο να βάζεις static μεταβλητές?

Ακόμη ένα είναι το βιβλίο (να μην Πω η ΒΙΒΛΟΣ)
http://www.books.gr/ViewShopProduct.aspx?Id=5522890

Επίσεις και μερικα tutorials για java από τον καθηγητή μου όπου μας έκανε στο τει Λαμίας:
http://rtsimage.di.uoa.gr/iakovidis/java.htm


Πιστευω απο πολλα tutorials στο ιντερνετ μπορείς να πάρεις κάτι καλο... εγω δεν πιστεύω οτι υπάρχει ενα
μονο τουτόριαλ που θα σε κάνει να τα μάθεις ολα και με την μια ειτε ειναι ελληνογλωσσο είτε ειναι ξενόγλωσσο.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι

cron