.Net vs Java
.Net vs Java
Ήθελα την άποψη σας αναφορικά με την "διαμάχη μεταξύ Java και .Net"
Ποια νομίζετε θα είναι η κατάληξη της διαμάχης αυτής? Ένα ρεύμα προς Java ή ένα ρεύμα προς .Net?
Πλέον και με τις δύο πλατφόρμες μπορείς να κάνεις τα πάντα
/janag
Ποια νομίζετε θα είναι η κατάληξη της διαμάχης αυτής? Ένα ρεύμα προς Java ή ένα ρεύμα προς .Net?
Πλέον και με τις δύο πλατφόρμες μπορείς να κάνεις τα πάντα
/janag
-
- Gbyte level
- Posts: 1098
- Joined: Thu Apr 22, 2004 2:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: In a Long Time Ago in A Galaxy far far away
- Contact:
Το θέμα είναι ότι με τη μία πλατφόρμα μπορείς να το κάνεις εύκολα, γρήγορα και πιο αποδοτικά, ενώ με την άλλη αν δεν είσαι priest 30+ level δε θα δεις χαϊρι.
Όπως και να έχει πάντως, Καλή Χρονιά να έχουμε (αυτό φαντάζομαι οτι θα είναι το τελευταίο μου post για το 2004), υγεία και ευτυχία σε όλους μας. άντε και με το νέο χρόνο ας δούμε επιτέλους και την portability να υλοποιείται σε κάποια πλατφόρμα, μιας και μέχρι τώρα απλά ακούμε λόγια.
Όπως και να έχει πάντως, Καλή Χρονιά να έχουμε (αυτό φαντάζομαι οτι θα είναι το τελευταίο μου post για το 2004), υγεία και ευτυχία σε όλους μας. άντε και με το νέο χρόνο ας δούμε επιτέλους και την portability να υλοποιείται σε κάποια πλατφόρμα, μιας και μέχρι τώρα απλά ακούμε λόγια.
- silegav
- Venus Project Founder
- Posts: 2098
- Joined: Tue Mar 09, 2004 4:03 pm
- Academic status: Alumnus/a
- Location: The Center of the World -> Piraeus
δεν νομίζω να κερδίσει κάποιος από τους 2. Το .NET παρέχει την C# η οποία είναι αρκετά φιλικότερη από την C++ και πολύ πιο δυνατή από την VB. Η Java, όμως έχει ένα ρεύμα και είναι μια εταιρεία που ξεκίνησε χωρίς να είναι ο κολλοσός στο λογισμικό. Άρα έχουν μυαλό οι άνθρωποι. Παράδειγμα: Τα web services, πρώτα η τεχνολογία αυτή δόθηκε από την Java και τώρα έχει μπει και το .ΝΕΤ. Μπορεί να κάνω λάθος, αλλά έτσι νομίζω πως έχω διαβάσει.΄
Ένα άλλο + της Java είναι ότι από πίσω της δεν είναι η Microsoft, επομένως είναι πιό συμπαθητική σε open source developers, από άποψη ιδεολογίας και μόνο. Δείγμα το ότι ένα από τους περασμένους firefox δεν υποστήριζε asp παραμόνο jsp. Είναι ένα σύν κι αυτό.
Ένα άλλο + της Java είναι ότι από πίσω της δεν είναι η Microsoft, επομένως είναι πιό συμπαθητική σε open source developers, από άποψη ιδεολογίας και μόνο. Δείγμα το ότι ένα από τους περασμένους firefox δεν υποστήριζε asp παραμόνο jsp. Είναι ένα σύν κι αυτό.
- Einherjar
- Venus Project Founder
- Posts: 3751
- Joined: Tue Jan 27, 2004 4:42 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Washington DC, USA
- Contact:
Η θέση μου είναι καθαρά υπέρ της Java. Δεν θέλω βέβαια να μηδενίσω την άλλη πλατφόρμα. είναι αρκετά αξιόλογη όμως η Java έχει κάποια χαρακτηριστικά που θεωρώ ότι είναι προς το παρόν ανυπέρβλητα και κυρίως είναι open. Μπορείς να προγραμματίσεις πάνω σε αρκετά, δυνατά και open IDEs και δεν είσαι περιορισμένος σε ένα μόνο περιβάλλον (βλέπε VS) το οποίο δεν είναι και open/free.
Θεωρώ επίσης πολύ πολύ κακό το ότι η MS έχει πάρει κάποιες γλώσσες που υπήρχαν και τις έχει παραλλάξει σε τέτοιο βαθμό που είναι σαν να μαθαίνεις καινούργια γλώσσα όταν θέλεις να τη χρησιμοποιήσεις. Το λέω αυτό επειδή το τελευταίο καιρό ασχολούμαι με visual c++ .net και δεν έχει κα-μι-α σχέση με την παραδοσιακή c++. φαντάζομαι θα έχει κάνει και τα ίδια στην J#.
Πάντα βέβαια ισχύει το περι ορέξεως κολοκυθόπιτα
Θεωρώ επίσης πολύ πολύ κακό το ότι η MS έχει πάρει κάποιες γλώσσες που υπήρχαν και τις έχει παραλλάξει σε τέτοιο βαθμό που είναι σαν να μαθαίνεις καινούργια γλώσσα όταν θέλεις να τη χρησιμοποιήσεις. Το λέω αυτό επειδή το τελευταίο καιρό ασχολούμαι με visual c++ .net και δεν έχει κα-μι-α σχέση με την παραδοσιακή c++. φαντάζομαι θα έχει κάνει και τα ίδια στην J#.
Πάντα βέβαια ισχύει το περι ορέξεως κολοκυθόπιτα

[Better to understand a little than to misunderstand a lot]
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
Χμ... μερικά πράγματα χρειάζονται αποσαφήνιση:
Η C# με την VB.NET έχουν _ακριβώς_ τις ίδιες δυνατότητες (με εξαίρεση το ότι η μεν υποστηρίζει υπερφόρτωση τελεστών, ενώ η άλλη προεπιλεγμένες τιμές παραμέτρων μεθόδων - αλλά και αυτά αμβλύνονται στην 2005). Έχουν πρόσβαση πρακτικά στο ίδιο σετ κλάσεων, αυτό του .NET framework. Επίσης, η C++.ΝΕΤ υποστηρίζει πλήρως (~98% στην 2003, περισσότερο στην 2005) το ISO πρότυπο της C++, δηλ. κάθε εφαρμογή σε standard C++ δουλεύει κανονικά και στην cpp.net (εκεί άλλωστε έκανα όλες τις εργασίες για C++ της σχολής
). Οι δυνατότητες του compiler για .NET (π.χ. το garbage collection) είναι υπό τη μορφή επεκτάσεων μόνο, και ενεργοποιούνται μόνο με ειδικές παραμέτρους στο command line (ή συγκεκριμένα είδη project στο VS). Στο .NET δεν είναι κανείς κολλημένος απαραίτητα με το VS. Πέρα από το command line (που από ότι νομίζω το χαίρεται πολύς κόσμος εδώ
) υπάρχουν και άλλα, open-source IDEs. Τέλος, η J# δημιουργήθηκε για να υπάρχει ένα upgrade/migration path για όσους χρησιμοποιούσαν την J++, μία έκδοση της Java της Microsoft βασισμένη στην Java 1.1 (της Sun). Υποστηρίζει όλες τις επίσημες κλάσεις της Java 1.1 (π.χ. java.io.*), τις επεκτάσεις της Microsoft για την J++ και τις κλάσεις του .NET (π.χ. System.Windows.Forms). _Δεν_ σχεδιάστηκε για νέες εφαρμογές (άσχετα αν τελικά γίνεται αυτό), εξάλλου απαιτεί και δεύτερο runtime (πέρα από το .NET framework).
Αν δεν έχει γίνει ακόμα αντιληπτό
προτιμώ το .NET διότι το IDE του και οι γλώσσες του (C#/VB) είναι μακράν οι πλέον εύχρηστες (οποιοδήποτε από τα NetBeans, Eclipse ή JBuilderX είναι έτη φωτός μακριά). Κάτι πραγματικά απίστευτα εξυπηρετικό (το οποίο έχουν μία ανεξήγητη τάση να το θάβουν όσοι δεν το έχουν χρησιμοποιήσει) είναι τα properties στον OO προγραμματισμό, που το έχω συναντήσει μόνο στις παραπάνω γλώσσες. Επιπλέον, η δημιουργία γραφικών διεπαφών είναι παιχνίδι (και όσο το δυνατόν πιο native=ομορφότερες, ταχύτερες για ένα framework). Χωλένει (συγκριτικά με την Java) σε θέματα protability, αλλά α) δεν με ενδιαφέρει ιδιαίτερα η εκτλέλεση των εφαρμογών μου σε άλλες πλατφόρμες β) το Mono γίνεται ωριμότερο ώρα με την ώρα και γ) ούτε η Java μου παρέχει την απόλυτη portability που περιμένω (ενδεικτικά, με έχουν ταλαιπωρήσει αφάνταστα ορισμένα εργαλεία κάποιων Symbian OS SDKs, που θέλουν σώνει και καλά Java 1.3.1_01 και _καμία_ άλλη, ενώ τα νεότερα SDKs 1.4.1_01 και _καμία_ άλλη... κι εγώ πάλι που θέλω να παίζω με την πιο cutting-edge αναγκάζομαι τελικά να εγκαθιστώ 3 JREs... - άλλο παράδειγμα είναι η Java 2 Micro Edition: κάθε εφαρμογή για J2ME πρέπει να ξαναγραφτεί για κάθε μοντέλο κινητού (αφού το καθένα προσφέρει διαφορετικό σετ κλάσεων, υποστηρίζοντας λιγότερα ή περισσότερα JSRs), ακόμα και για τα κινητά με λειτουργικό σύστημα (π.χ. Symbian OS), όπου υποτίθεται ότι οι κλάσεις είναι περίπου standard και/ή συμπεριφέρονται με τον ίδιο τρόπο)
Η C# με την VB.NET έχουν _ακριβώς_ τις ίδιες δυνατότητες (με εξαίρεση το ότι η μεν υποστηρίζει υπερφόρτωση τελεστών, ενώ η άλλη προεπιλεγμένες τιμές παραμέτρων μεθόδων - αλλά και αυτά αμβλύνονται στην 2005). Έχουν πρόσβαση πρακτικά στο ίδιο σετ κλάσεων, αυτό του .NET framework. Επίσης, η C++.ΝΕΤ υποστηρίζει πλήρως (~98% στην 2003, περισσότερο στην 2005) το ISO πρότυπο της C++, δηλ. κάθε εφαρμογή σε standard C++ δουλεύει κανονικά και στην cpp.net (εκεί άλλωστε έκανα όλες τις εργασίες για C++ της σχολής


Αν κατάλαβα τι εννοείς, και τα 2 είναι server-side τεχνολογίες, και δεν έχει νόημα η υποστήριξη (ή μη) από τον browser.silegav wrote:Δείγμα το ότι ένα από τους περασμένους firefox δεν υποστήριζε asp παραμόνο jsp. Είναι ένα σύν κι αυτό.
Αν δεν έχει γίνει ακόμα αντιληπτό
Autocracy hates questions. Anarchy hates answers.
- Einherjar
- Venus Project Founder
- Posts: 3751
- Joined: Tue Jan 27, 2004 4:42 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Washington DC, USA
- Contact:
πες μου ένα λόγογια να χρησιμοποιήσει κάποιος j++ ή j#. αν ήθελε να έχει την portability της java θα χρησιμοποιουσε την κανονική java. αν ήθελε να αξιοποιήσει τα εκάστοτε native χαρακτηριστικά θα χρησιμοποιούσε c++/vb. Νομίζω ότι η J?? έγινε επειδή η ms ήθελε να χώσει τη μύτη της και εκεί! Προσπάθησε να αλλοιώσει, να παραμορφώσει! και μη λες Υποστηρίζει όλες τις επίσημες κλάσεις της Java 1.1! ναι... πήρε το if then else και κάτι έγινεmikem4600 wrote:η J# δημιουργήθηκε για να υπάρχει ένα upgrade/migration path για όσους χρησιμοποιούσαν την J++, μία έκδοση της Java της Microsoft βασισμένη στην Java 1.1 (της Sun). Υποστηρίζει όλες τις επίσημες κλάσεις της Java 1.1 (π.χ. java.io.*), τις επεκτάσεις της Microsoft για την J++ και τις κλάσεις του .NET (π.χ. System.Windows.Forms). _Δεν_ σχεδιάστηκε για νέες εφαρμογές (άσχετα αν τελικά γίνεται αυτό), εξάλλου απαιτεί και δεύτερο runtime (πέρα από το .NET framework).

Τι θες να πεις? Έτσι όπως καταλαβαίνω εγώ τα properties, είναι μεταβλητές κλάσεων στις οποίες μπορεί κάποιος να έχει άμεση πρόσβαση χωρίς την κατ' ανάγκη χρήση των get/set μεθόδων. Τουλάχιστον αυτό έχω διαπιστώσει εγώ κατά τη χρήση. Αν είναι αυτό που λέω, τότε προσωπικά το θεωρώ πολύ αρνητικό για μια γλώσσα να δίνει δυνατότητα άμεσου ελέγχου στις δομές τις χωρίς τον stadar τρόπο (get/set). Αν πάλι είναι κάτι παραπάνω, μένει να δω τι θα μου πεις.mikem4600 wrote:Κάτι πραγματικά απίστευτα εξυπηρετικό (το οποίο έχουν μία ανεξήγητη τάση να το θάβουν όσοι δεν το έχουν χρησιμοποιήσει) είναι τα properties στον OO προγραμματισμό, που το έχω συναντήσει μόνο στις παραπάνω γλώσσες
νομίζω ότι αυτό είναι λίγο υπερβολικό. προσωπικά δεν είχα πρόβλημα μέχρι τώρα. Εκτός βέβαια και αν κάνεις κάτι πολύ εξεζητημένο που δεν μπορώ να φανταστώ και έτσι είχες πρόβλημα. Επίσης σχετικά με το θέμα των εκδόσεων, μου μοιάζει πιο πολύ για περιορισμό τρίτων παρά για περιορισμό της java το ποια έκδοση θα μπορείς να χρησιμοποιήσειςmikem4600 wrote:κάθε εφαρμογή για J2ME πρέπει να ξαναγραφτεί για κάθε μοντέλο κινητού

το υποστηρίζει μεν, δεν το υλοποιεί δε! γι'αυτό και τα αμέτρητα warnings όταν πας να μεταγλωττίσεις κάτι που έχει γραφτεί σύμφωνα με το asni/iso standard. Το πιο χαρακτηριστικό είναι τα exceptions που σου λέει στη μάπα... δεν τα υλοποιώ φιλαράκι! αν θες να πιάσεις τις εξαιρέσεις σου κάτσε και ξαναγράψε τις εξαιρέσεις σου!mikem4600 wrote: Επίσης, η C++.ΝΕΤ υποστηρίζει πλήρως το ISO πρότυπο της C++, δηλ. κάθε εφαρμογή σε standard C++ δουλεύει κανονικά και στην cpp.net
Ξαναλέω... δεν μου αρέσουν αυτά τα σκευάσματα που έχει φτιάξει η ms! μακάρι να πέταγε όλες τις άλλες γλώσσες και να κράταγε την C# που μπορεί να θεωρηθεί ως καινούργια γλώσσα (θα παίξει ποτέ σε linux?)
[Better to understand a little than to misunderstand a lot]
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
Μιας και η συζήτηση γίνεται ενδιαφέρουσα... 
δηλ. δεν είχε κάτι εναντίον της Java... Ο στόχος της (προφανώς) δεν ήταν το καλό της Java, αλλά το καλό των Windows (=90% των desktops). Το παράλογο δεν βλέπω... Δηλαδή η Sun (και η κάθε Sun) θα έκανε κάτι διαφορετικό στη θέση της; Εξάλλου πόσους developers δεν έφερε κοντά στη Java με το να τη συμπεριλαμβάνει στα Windows;
Δες το διαφορετικά: ό,τι έτρεχε στην Java 1.1 τρέχει και στην J#/J++. Ουσιαστικά το μόνο που μπορώ να πώ ότι μου λείπει από αυτό (σε σχέση π.χ. με την Java 1.4) είναι το Swing, αλλά ποτέ δεν μου άρεσε ως interface
Νομίζω ότι με το AWT η Sun είχε τη σωστή ιδέα.
Στην Java πρέπει να γράφεις σώνει και καλά ξεχωριστές get/set μεθόδους, το οποίο μου φαίνεται λιγότερο κομψό. Περισσότερα
Όσες φορές την έχω χρησιμοποιήσει, δεν έχω παρατηρήσει κάτι τέτοιο... Μήπως ανακατεύεις τίποτα STL με .NET;

Για την J# σου έδωσα ήδη: αν κάποιος έχει ένα project σε J++ τι να το κάνει; Να το πετάξει (ξαναγράψει από την αρχή); Για την J++, δες το από τη σκοπιά του 1998-2000: τότε η Java ήταν ό,τι πιο hot υπήρχε, και η Microsoft έτρεξε να την υποστηρίξει, και να την κάνει να συμπεριφέρεται καλύτερα (πιο natively) στα Windows - γι' αυτό και έβγαλε τις επεκτάσεις της ώστε να χρησιμοποιείται το API των Windows. Ήταν προφανές ότι το μέλλον οδηγούσε σε ένα τέτοιο managed οικοσύστημα, το οποίο θα αποτελούσε τη βάση για τα Windows. Της άρεσε πολύ το OO μοντέλο της Java με την ασφάλεια και τις δυνατότητες μιας VM (αλλά και την ευκολία ανάπτυξης σε σχέση με την C), και δεν ήταν παρά μόνο όταν τα "τσούγκρισαν" στα δικαστήρια με την Sun που η Microsoft αποφάσισε να φτιάξει κάτι ανεξάρτητο (το .NET), το οποίο συνδιάζει τα καλά της Java με τα Windows. Οπότε, έχεις δίκιο, απλώς όχι απαραίτητα στο context της evil empire...Einherjar wrote:πες μου ένα λόγογια να χρησιμοποιήσει κάποιος j++ ή j#. αν ήθελε να έχει την portability της java θα χρησιμοποιουσε την κανονική java. αν ήθελε να αξιοποιήσει τα εκάστοτε native χαρακτηριστικά θα χρησιμοποιούσε c++/vb. Νομίζω ότι η J?? έγινε επειδή η ms ήθελε να χώσει τη μύτη της και εκεί! Προσπάθησε να αλλοιώσει, να παραμορφώσει!mikem4600 wrote:η J# δημιουργήθηκε για να υπάρχει ένα upgrade/migration path για όσους χρησιμοποιούσαν την J++, μία έκδοση της Java της Microsoft βασισμένη στην Java 1.1 (της Sun). Υποστηρίζει όλες τις επίσημες κλάσεις της Java 1.1 (π.χ. java.io.*), τις επεκτάσεις της Microsoft για την J++ και τις κλάσεις του .NET (π.χ. System.Windows.Forms). _Δεν_ σχεδιάστηκε για νέες εφαρμογές (άσχετα αν τελικά γίνεται αυτό), εξάλλου απαιτεί και δεύτερο runtime (πέρα από το .NET framework).

Χμμ... το J# runtime είναι περί τα 20 MB αν θυμάμαι καλά... Αμφιβάλλω αν έχει μόνο το if then else...Einherjar wrote:και μη λες Υποστηρίζει όλες τις επίσημες κλάσεις της Java 1.1! ναι... πήρε το if then else και κάτι έγινε![]()


Τα properties είναι ένα είδος συνάρτησης που περιλαμβάνει το get και set μέρος (σαν σχεδόν ανεξάρτητες συναρτήσεις). Δεν είναι μεταβλητές κλάσεων, αλλά έχουν την ίδια σύνταξη. Αυτό ακριβώς είναι που δεν αρέσει σε πολύ κόσμο (γιατί θεωρητικά για κάποιο άγνωστο σε εμένα λόγο μπορεί να μπερδευτείς και να τις περάσεις για public μεταβλητές), αλλά είναι και το πιο εξυπηρετικό σημείο. Με άλλα λόγια, χρησιμοποιώντας τη σύνταξη μίας public μεταβλητής μπορείς να εκτελείς κώδικα κατά το get/set.Einherjar wrote:Τι θες να πεις? Έτσι όπως καταλαβαίνω εγώ τα properties, είναι μεταβλητές κλάσεων στις οποίες μπορεί κάποιος να έχει άμεση πρόσβαση χωρίς την κατ' ανάγκη χρήση των get/set μεθόδων. Τουλάχιστον αυτό έχω διαπιστώσει εγώ κατά τη χρήση. Αν είναι αυτό που λέω, τότε προσωπικά το θεωρώ πολύ αρνητικό για μια γλώσσα να δίνει δυνατότητα άμεσου ελέγχου στις δομές τις χωρίς τον stadar τρόπο (get/set). Αν πάλι είναι κάτι παραπάνω, μένει να δω τι θα μου πεις.mikem4600 wrote:Κάτι πραγματικά απίστευτα εξυπηρετικό (το οποίο έχουν μία ανεξήγητη τάση να το θάβουν όσοι δεν το έχουν χρησιμοποιήσει) είναι τα properties στον OO προγραμματισμό, που το έχω συναντήσει μόνο στις παραπάνω γλώσσες
Code: Select all
class MyClass
{
private int x;
public int X
{
get
{
return x;
}
set
{
x = value;
}
}
}
class MyClient
{
public static void Main()
{
MyClass mc = new MyClass();
mc.X = 10;
int xVal = mc.X;
Console.WriteLine(xVal);//Displays 10
}
}
Έχεις παρατηρήσει π.χ. κανένα παιχνίδι σε J2ME να κάνει για όλα τα κινητά; Το πιο απλό είναι διάκριση μεταξύ smartphones και μη... Κατά δεύτερον, υπάρχουν άλλες εκδόσεις π.χ. για Nokia, Siemens, Motorola κτλ. Άλλωστε γιατί κάθε εταιρία βγάζει διαφορετικό SDK, και μάλιστα ακόμα και για διαφορετικά μοντέλα; Και για το θέμα των εκδόσεων, αν ήταν π.χ. γραμμένα σε C/C++ για Windows 95 (ας πούμε) και Windows 98 με αυτή τη λογική θα έπρεπε να πετάξω τα XP; Νομίζω ότι η γλώσσα η ίδια θα πρέπει να είναι transparent σε αυτό το θέμα. Δηλ. όταν λέμε portability, να μην έχει καμία απολύτως σημασία η VM (ειδικά αν είναι νεότερη έκδοση).Einherjar wrote:νομίζω ότι αυτό είναι λίγο υπερβολικό. προσωπικά δεν είχα πρόβλημα μέχρι τώρα. Εκτός βέβαια και αν κάνεις κάτι πολύ εξεζητημένο που δεν μπορώ να φανταστώ και έτσι είχες πρόβλημα. Επίσης σχετικά με το θέμα των εκδόσεων, μου μοιάζει πιο πολύ για περιορισμό τρίτων παρά για περιορισμό της java το ποια έκδοση θα μπορείς να χρησιμοποιήσειςmikem4600 wrote:κάθε εφαρμογή για J2ME πρέπει να ξαναγραφτεί για κάθε μοντέλο κινητού
Einherjar wrote:το υποστηρίζει μεν, δεν το υλοποιεί δε! γι'αυτό και τα αμέτρητα warnings όταν πας να μεταγλωττίσεις κάτι που έχει γραφτεί σύμφωνα με το asni/iso standard. Το πιο χαρακτηριστικό είναι τα exceptions που σου λέει στη μάπα... δεν τα υλοποιώ φιλαράκι! αν θες να πιάσεις τις εξαιρέσεις σου κάτσε και ξαναγράψε τις εξαιρέσεις σου!mikem4600 wrote: Επίσης, η C++.ΝΕΤ υποστηρίζει πλήρως το ISO πρότυπο της C++, δηλ. κάθε εφαρμογή σε standard C++ δουλεύει κανονικά και στην cpp.net

Παίζει ήδη. http://www.mono-project.com/Einherjar wrote:Ξαναλέω... δεν μου αρέσουν αυτά τα σκευάσματα που έχει φτιάξει η ms! μακάρι να πέταγε όλες τις άλλες γλώσσες και να κράταγε την C# που μπορεί να θεωρηθεί ως καινούργια γλώσσα (θα παίξει ποτέ σε linux?)
Last edited by mikem4600 on Sat Jan 01, 2005 9:13 pm, edited 1 time in total.
Autocracy hates questions. Anarchy hates answers.
- PaP
- Venus Project Founder
- Posts: 1077
- Joined: Wed Apr 21, 2004 12:06 am
- Academic status: Alumnus/a
- Location: San Francisco
- Contact:
Ενα συν της Java είναι η ακαδημαικότητας της αφού μπορείτε να δείτε σε πολλά μεταπτυχιακά μαθήματα του τύπου Advanced Java Programming. Επίσης το .ΝΕΤ ελέγχεται αποκλειστικά από την Μ$ ενώ η φορητότητα είναι μύθος και το Mono όσο καλό και να είναι πάντα θα είναι πίσω από το .ΝΕΤ. Επίσης καλύτερα να έχουμε πολλές Java εφαρμογές έτσι ώστε να διαλέγουμε πιο ελεύθερα την πλατφόρμα που θέλουμε αφού JVM υπάρχει για πολλά λειτουργικά και αρχιτεκτονικές. Και επίτλους να γίνει GPL !!
Επισης η Μ$ πάλι τπτ καινούριο δεν προσέφερε. (χονδρικά) Ερχεται μετά από χρόνια να εφεύρει virtual machines και να δώσει τα άπειρα λεφτά για να το διαφημίσει. Κλασσική Μ$ λεφτά κυρίως στο μαρκετινγκ. Δε βλέπω το λόγο γιατί όλες οι γλώσσες να γίνουν ported στο .ΝΕΤ. Κάθε μία έχει την ιδιαιτερότητες της και γιατί να τρέχουν όλα σε πλατφόρμες και όχι natively. Τεσπα
Οσο για τη JVM δεν υπάρχει μόνο η Java αλλά και άλλα κυρίως script : Jython (python for jvm), Ruby etc etc
Επισης η Μ$ πάλι τπτ καινούριο δεν προσέφερε. (χονδρικά) Ερχεται μετά από χρόνια να εφεύρει virtual machines και να δώσει τα άπειρα λεφτά για να το διαφημίσει. Κλασσική Μ$ λεφτά κυρίως στο μαρκετινγκ. Δε βλέπω το λόγο γιατί όλες οι γλώσσες να γίνουν ported στο .ΝΕΤ. Κάθε μία έχει την ιδιαιτερότητες της και γιατί να τρέχουν όλα σε πλατφόρμες και όχι natively. Τεσπα
Οσο για τη JVM δεν υπάρχει μόνο η Java αλλά και άλλα κυρίως script : Jython (python for jvm), Ruby etc etc
-
- Gbyte level
- Posts: 1098
- Joined: Thu Apr 22, 2004 2:18 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: In a Long Time Ago in A Galaxy far far away
- Contact:
Όπως τόσο αναλυτικά περιέγραψε ο MikeM, απλά η ύπαρξη μιας JVM σε καμία περίπτωση δεν εξασφαλίζει ότι το πρόγραμμα σε Java θα τρέξει (ακόμα και στον ίδιο υπολογιστή, ανάλογα με την έκδοση της VM που χρησιμοποιείς το αποτέλεσμα είναι διαφορετικό -και το περίεργο είναι η εφαρμογή να τρέχει σε 1.1, αλλά όχι στην 1.3, αλλά στην 1.4 να τρέχει και πάλι και δε συμμαζεύεται. η Portability είναι ωραία ιδέα, αλλά προς το παρόν κανείς δε θα έπρεπε να ισχυρίζεται ότι την παρέχει, αφού απέχουν και οι 2 προσεγγίσεις πάρα πολύ από αυτό που διαφημίζουν).
Τώρα για την ακαδημαικότητα της Java..... ο μόνος λόγος που τη χρησιμοποιούν είναι "για να τρέχει παντού" (κάνω την πτυχιακή μου σε Java και κλαίω ο άνθρωπος -ειδικά από όταν είδα ότι τα εργαλεία που χρησιμοποιώ, λειτουργούν και με C#). φυσικά όταν θα πάω να την τρέξω σε Linux θα πρέπει να κάνω άλλο τόσο debugging (το ίδιο θα συνέβαινε αν έκανα το developing σε Linux και πήγαινα να το μεταφέρω σε Windows. είπαμε θέλω να τρέχει παντού....).
Πάντως παιχνίδια σε Java τρέχουν στο 3650, αλλά όχι στο 6600 (αν και έχουν και τα δύο Series 60). αντίθετα προγράμματα γραμμένα σε C++ για Symbian OS (ένας θεός να την κάνει C++) τρέχουν και στα 2 κινητά...
Τώρα για την ακαδημαικότητα της Java..... ο μόνος λόγος που τη χρησιμοποιούν είναι "για να τρέχει παντού" (κάνω την πτυχιακή μου σε Java και κλαίω ο άνθρωπος -ειδικά από όταν είδα ότι τα εργαλεία που χρησιμοποιώ, λειτουργούν και με C#). φυσικά όταν θα πάω να την τρέξω σε Linux θα πρέπει να κάνω άλλο τόσο debugging (το ίδιο θα συνέβαινε αν έκανα το developing σε Linux και πήγαινα να το μεταφέρω σε Windows. είπαμε θέλω να τρέχει παντού....).
Πάντως παιχνίδια σε Java τρέχουν στο 3650, αλλά όχι στο 6600 (αν και έχουν και τα δύο Series 60). αντίθετα προγράμματα γραμμένα σε C++ για Symbian OS (ένας θεός να την κάνει C++) τρέχουν και στα 2 κινητά...
- Einherjar
- Venus Project Founder
- Posts: 3751
- Joined: Tue Jan 27, 2004 4:42 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Washington DC, USA
- Contact:
προσωπικά αυτό μου κολλάει στο context της evil empiremikem4600 wrote:τότε η Java ήταν ό,τι πιο hot υπήρχε, και η Microsoft έτρεξε να την υποστηρίξει, και να την κάνει να συμπεριφέρεται καλύτερα (πιο natively) στα Windows - γι' αυτό και έβγαλε τις επεκτάσεις της ώστε να χρησιμοποιείται το API των Windows

Μα αυτή είναι η ιδέα του αντικειμενοστραφούς προγραμματισμού. Σίγουρα είναι πιο εύκολη η χρήση των properties. Και ο μπακάλης της γειτονιάς μου ξέρει τον μπακάλικο τρόπο για να κάνει τις πράξεις εύκολα και γρήγορα. Πρέπει όμως να κοιτάμε και την ποιότητα! Και κατά τη γνώμη μου είναι πολύ πιο ποιοτικός ο κώδικας που κάνει χρήση get/set μεθόδων.mikem4600 wrote:Στην Java πρέπει να γράφεις σώνει και καλά ξεχωριστές get/set μεθόδους, το οποίο μου φαίνεται λιγότερο κομψό
ρίξε μια ματιά στο warning code 4290. όχι δεν έχω χρησιμοποιήσει stl.mikem4600 wrote:Όσες φορές την έχω χρησιμοποιήσει, δεν έχω παρατηρήσει κάτι τέτοιο... Μήπως ανακατεύεις τίποτα STL με .NET;
Σχετικά με το θέμα των τηλεφώνων δεν έχω ασχοληθεί τόσο πολύ και παίρνω τα λόγια σου ως δεδομένο, αν και μου φαίνεται περίεργο το όλο θέμα. Είμαι σίγουρος πάντως ότι θα ομαλοποηθεί η κατάσταση.
αυτό θα χρειάζεται μόνο αν κάνεις κλήσεις συστήματος ή χρησιμοποιείς βιβλιοθήκες που κάνουν κήσεις συστήματοςErevodifwntas wrote:φυσικά όταν θα πάω να την τρέξω σε Linux θα πρέπει να κάνω άλλο τόσο debugging (το ίδιο θα συνέβαινε αν έκανα το developing σε Linux και πήγαινα να το μεταφέρω σε Windows. είπαμε θέλω να τρέχει παντού....).
[Better to understand a little than to misunderstand a lot]
- HdkiLLeR
- Venus Project Founder
- Posts: 4356
- Joined: Tue Jan 27, 2004 4:41 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: New York, NY
- Contact:
Εμένα προσωπικά αν και δεν μου αρέσει καθόλου η Java μιας και η C/C++ θα είναι πάντα στην κορυφή απο πολλές πλευρές αλλά αυτό είναι άποψη μου και δεν έχει σχέση με το .ΝΕΤ. Τον τελαυταίο καιρό έχω αρχίσει και παίζω με .NEΤ και το έχω βρεί ιδιαίτερα ενδιαφέρον αλλά και πάλι lame είναι όπως και η Java που στα δίνει όλα σχεδόν υλοποιημένα και full optimized η μία για το λειτουργικό(ο Θεός να το κάνει δηλαδή) και η άλλη για την VM της. Το .NET έχει πάντος σαν αρχιτεκτονική πολλά παραπάνω χαρακτηριστικά και δυνατότητες τα οποία είναι αρκετά ενδιαφέροντα(τουλάχιστον απο όσο έχω διαβάσει γιατί δεν έχει τύχει να τα χρησιμοποιήσω όλα) απο την stack machine της java
.
Μια παρατηριση όσον αφορά την J++... Mike έλα ρε μεταξύ μας ρε σύ, είδε πως είχε ψωμί η java, lamάδες όπως ήτανε τα παιδιά πήρανε τον πυρήνα της γλώσσας και του αλάξανε τα φώτα. Αυτά περί καλύτερης υποστήριξης κλπ είναι για το marketing..Ας μελετάγε full native compiler με 7-8 επίπεδα optmimization και τότε το ξανασυζητάμε, αλλά που να βάλει μυαλό ο κάκγουρας...δεν γίνεται
. Τέλος το set/get το γουστάρω και μαζί σου μιας και είμαι είναι C friend αλλά αυτό δεν είναι OO.Η Java είναι αμιγώς Object Oriented(σύμφωνα με αυτά που λένε πάντα) και αυτή η δυνατότητα χαλάει τις αρχές της αντικειμενοστρέφειας.



Μια παρατηριση όσον αφορά την J++... Mike έλα ρε μεταξύ μας ρε σύ, είδε πως είχε ψωμί η java, lamάδες όπως ήτανε τα παιδιά πήρανε τον πυρήνα της γλώσσας και του αλάξανε τα φώτα. Αυτά περί καλύτερης υποστήριξης κλπ είναι για το marketing..Ας μελετάγε full native compiler με 7-8 επίπεδα optmimization και τότε το ξανασυζητάμε, αλλά που να βάλει μυαλό ο κάκγουρας...δεν γίνεται

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
Einherjar wrote:προσωπικά αυτό μου κολλάει στο context της evil empiremikem4600 wrote:τότε η Java ήταν ό,τι πιο hot υπήρχε, και η Microsoft έτρεξε να την υποστηρίξει, και να την κάνει να συμπεριφέρεται καλύτερα (πιο natively) στα Windows - γι' αυτό και έβγαλε τις επεκτάσεις της ώστε να χρησιμοποιείται το API των WindowsΕπειδή ήταν ακριβώς ότι πιο hot, δεν θα μπορούσε να αφήσει όλη τη δόξα στη Sun. Δεν ξέρω αν έχεις ακούσει... το χέρι που δεν μπορείς να δαγκώσεις, φίλισέ το. Αυτό ακριβώς έκανε. Δεν μπορούσε να σταματήσει τη δυναμική αυτής της γλώσσα/πλατφόρμας και γι'αυτό προσάθησε να την αλλοιώσει
OK...HdkiLLeR wrote:Mike έλα ρε μεταξύ μας ρε σύ, είδε πως είχε ψωμί η java, lamάδες όπως ήτανε τα παιδιά πήρανε τον πυρήνα της γλώσσας και του αλάξανε τα φώτα. Αυτά περί καλύτερης υποστήριξης κλπ είναι για το marketing..Ας μελετάγε full native compiler με 7-8 επίπεδα optmimization και τότε το ξανασυζητάμε, αλλά που να βάλει μυαλό ο κάκγουρας...δεν γίνεται

ΟΚ... Όπως είπες κι εσύ, περί ορέξεως...Einherjar wrote:Μα αυτή είναι η ιδέα του αντικειμενοστραφούς προγραμματισμού. Σίγουρα είναι πιο εύκολη η χρήση των properties. Και ο μπακάλης της γειτονιάς μου ξέρει τον μπακάλικο τρόπο για να κάνει τις πράξεις εύκολα και γρήγορα. Πρέπει όμως να κοιτάμε και την ποιότητα! Και κατά τη γνώμη μου είναι πολύ πιο ποιοτικός ο κώδικας που κάνει χρήση get/set μεθόδων.mikem4600 wrote:Στην Java πρέπει να γράφεις σώνει και καλά ξεχωριστές get/set μεθόδους, το οποίο μου φαίνεται λιγότερο κομψό

Το εν λόγω warning αναφέρει ότι αν γράφεις στο declaration της μεθόδου ποιες exceptions πετάει (π.χ. το κλασικό ...void main() throws IOException), αυτό αγνοείται (δηλ. ο compiler δεν κάνει ελέγχους για να δει αν τα throw declarations μεταδίδονται από μέθοδο σε μέθοδο σωστά). Αυτό μόνο ο compiler της Java το κάνει. Δεν έχω δει κανέναν compiler για C++ (από όσους έχω δοκιμάσει) να το υλοποιεί. Κατά τα άλλα, τα exceptions λειτουργούν κανονικότατα. Απλώς σκέφτεσαι τη C++ με όρους Java.Einherjar wrote:ρίξε μια ματιά στο warning code 4290. όχι δεν έχω χρησιμοποιήσει stl.mikem4600 wrote:Όσες φορές την έχω χρησιμοποιήσει, δεν έχω παρατηρήσει κάτι τέτοιο... Μήπως ανακατεύεις τίποτα STL με .NET;

Autocracy hates questions. Anarchy hates answers.
- HdkiLLeR
- Venus Project Founder
- Posts: 4356
- Joined: Tue Jan 27, 2004 4:41 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: New York, NY
- Contact:
Try GNUmikem4600 wrote:Το εν λόγω warning αναφέρει ότι αν γράφεις στο declaration της μεθόδου ποιες exceptions πετάει (π.χ. το κλασικό ...void main() throws IOException), αυτό αγνοείται (δηλ. ο compiler δεν κάνει ελέγχους για να δει αν τα throw declarations μεταδίδονται από μέθοδο σε μέθοδο σωστά). Αυτό μόνο ο compiler της Java το κάνει. Δεν έχω δει κανέναν compiler για C++ (από όσους έχω δοκιμάσει) να το υλοποιεί.

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
- Einherjar
- Venus Project Founder
- Posts: 3751
- Joined: Tue Jan 27, 2004 4:42 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Washington DC, USA
- Contact:
θα ήσουν καλός πλανητάρχηςmikem4600 wrote:Απλώς δεν έχει λόγο να τα υποστηρίξει, αν κατέχει τα 9/10 της αγοράς.

Δεν βλέπω κάτι το αρνητικό σε αυτά τα στοιχεία.mikem4600 wrote:το foreach, τα metadata, τα enums, τα varargs και το autoboxing (τα οποία ξεκίνησαν από τη C# και μετά πολλού κόπου και βασάνων κατέληξαν και στην Java 1.5);
Επίσης θερώ πολύ θετικό όταν μια γλώσσα εξελίσεται και εισάγει θετικά στοιχεία από άλλες γλώσσες. Θα ήταν βέβαια κατακριταίο από μένα αν η sun έβγαζε μια γλώσσα C#++ .STH που θα περιείχε κάποια στοιχεία της C# και κάποια άλλα της java και θα έλεγε ότι είναι εξέλιξη της c#

Προφανώς δεν είναι μόνο θέμα τεχνικών χαρακτηριστικών η επιλογή πλατφόρμας ανάπτυξης λογισμικού. Σημαντικό ρόλο παίζει και η ιδεολογία/αντίληψη των πραγμάτων!
[Better to understand a little than to misunderstand a lot]
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
Το περίμενα ότι ο g++ θα έκανε τέτοια περίεργα πράγματα!...HdkiLLeR wrote:Try GNU...It's your friend!!


Ξέρετε λοιπόν ποιον θα ψηφήσετε το 2009, ε;Einherjar wrote:θα ήσουν καλός πλανητάρχηςmikem4600 wrote:Απλώς δεν έχει λόγο να τα υποστηρίξει, αν κατέχει τα 9/10 της αγοράς.


ΟΚ... Τις θεωρές του Stallman δεν ξέρω αν ακόμα κι ο ίδιος τις πιστεύει... Δηλ. 20 χρόνια με τον emacs κι ούτε να θέλει να δει το Notepad... δεν ξέρω...Einherjar wrote:Προφανώς δεν είναι μόνο θέμα τεχνικών χαρακτηριστικών η επιλογή πλατφόρμας ανάπτυξης λογισμικού. Σημαντικό ρόλο παίζει και η ιδεολογία/αντίληψη των πραγμάτων!


Autocracy hates questions. Anarchy hates answers.
- HdkiLLeR
- Venus Project Founder
- Posts: 4356
- Joined: Tue Jan 27, 2004 4:41 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: New York, NY
- Contact:
3.3 && 3.4. 2.95 μόνο για παλιούς kernels αλλά δεν νομίζω να παίζεις με 2.2 εκτός και εάν γουστάρεις τπτ embedded συστήματα ή αλλές arch.mikem4600 wrote: Το περίμενα ότι ο g++ θα έκανε τέτοια περίεργα πράγματα!...Απλώς όσες φορές πάω να παίξω με το KDevelop μου βγάζει config errors στα 3.000 makefiles που φτιάχνει και βαριέμαι να βρω ποιο φταίει, ακόμα κι όταν έχω εγκαταστήσει όλα τα μύρια των utilities που θέλει. Η επόμενη λύση είναι η Kateούλα (που χρησιμοποίησα για τα sockets), αλλά χωρίς σοβαρό IDE τι να το κάνεις... Άσε που ο 2.95 μου έσπασε τα νεύρα επειδή ήθελε πρώτα όλα τα declarations και μετά όλα τα statements...
Τουλάχιστον ο 3.3 είναι πιο αξιοπρεπής.
Υπάρχει και το nano είναι και text οπότε δεν είσαι περιορισμένος σε γραφικά και είναι και αυτό GNU part!mikem4600 wrote: ΟΚ... Τις θεωρές του Stallman δεν ξέρω αν ακόμα κι ο ίδιος τις πιστεύει... Δηλ. 20 χρόνια με τον emacs κι ούτε να θέλει να δει το Notepad... δεν ξέρω...![]()

ΥΓ: Emacs suckz μεταξύ μας πάντως, δούλεψε με vim καλύτερα που έχει και syntax highlighting



-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
- HdkiLLeR
- Venus Project Founder
- Posts: 4356
- Joined: Tue Jan 27, 2004 4:41 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: New York, NY
- Contact:
Πόπο ανεβαίνεις επίπεδα με αυτά που μου λέςmikem4600 wrote:Το GVim στα images για Windows του cslab πως νομίζεις ότι βρέθηκε;HdkiLLeR wrote:Emacs suckz μεταξύ μας πάντως, δούλεψε με vim καλύτερα που έχει και syntax highlighting![]()
![]()
Anyway, πολύ ξέφυγε το θέμα...

mikem rulesZZzzz



-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------
"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
- AnINffected
- Gbyte level
- Posts: 1935
- Joined: Fri Jul 30, 2004 7:12 am
- Location: There and Back Again
Έτσι όπως σας βλέπω να το συζητάτε, συνειδητοποιώ πως μάλλον προτιμώ τη C++!Έχω αιώνες να την πιάσω όμως.Οι συνθήκες...
Operator overloading το πάω με χίλια...
Η Java πιστεύω οτι έχει αρκετα περιττά στοιχεία ώς api(sorry Einherjar
), ειδικά στο Ι/Ο κομμάτι αλλά ώς Open Source είναι καταπληκτική.Σύχρονη(δηλ.της μόδας), από μεγάλη εταιρία ΚΑΙ τζάμπα.Εξάλλου μάλλον είναι η #1 επιλογή για όποιον προτιμά την αντικειμενοστρέφεια (λέξη και αυτή!), διοτι δημιουργήθηκε εξ'αρχής με αυτό το σκοπό.
Να σας πώ την αλήθεια με .NET θέλω να ασχοληθώ πολύ αλλά δεν έχω προλάβει.Απ'ότι έχω δει η C# είναι πολύ ενδιαφέρουσα.
Οπαδοί της C++ δείτε το link προς τον Stroustrup να πωρωθείτε!
http://www.research.att.com/~bs/homepage.html
)
Operator overloading το πάω με χίλια...
Η Java πιστεύω οτι έχει αρκετα περιττά στοιχεία ώς api(sorry Einherjar

Να σας πώ την αλήθεια με .NET θέλω να ασχοληθώ πολύ αλλά δεν έχω προλάβει.Απ'ότι έχω δει η C# είναι πολύ ενδιαφέρουσα.
Οπαδοί της C++ δείτε το link προς τον Stroustrup να πωρωθείτε!
http://www.research.att.com/~bs/homepage.html
Πού ορά ο λογισμός σου Νορβηγέ (Τί εννοείς δηλEinherjar wrote:Προφανώς δεν είναι μόνο θέμα τεχνικών χαρακτηριστικών η επιλογή πλατφόρμας ανάπτυξης λογισμικού. Σημαντικό ρόλο παίζει και η ιδεολογία/αντίληψη των πραγμάτων!
The Analytical Engine has no pretensions to originate anything. It can do whatever we know how to order it to perform (...)
Ada Lovelace
Θέλω και εγώ να παίξω D&D λέμε!!!

Ada Lovelace
Θέλω και εγώ να παίξω D&D λέμε!!!


- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
Πολύ ήθελα να πάρω μέρος σε αυτήν την συζήτηση αλλά δεν είχα να προσθέσω κάτι περισσότερο από ό,τι είχε ειπωθεί. Αντ' αυτού άνοιξα το link προς τη σελίδα του Stroustrup που έδωσε ο AnINffected και πέρασα δυο ωρίτσες διαβάζοντας. Στο προσωπικό του faq σημείωσα μερικές πολύ ενδιαφέρουσες απόψεις του που ταιριάζουν με το topic. Τις παραθέτω
Stroustrup wrote: Is Java the language you would have designed if you didn't have to be compatible with C?
No. Java isn't even close. If people insist on comparing C++ and Java - as they seem to do - I suggest they read The Design and Evolution of C++ (D&E) to see why C++ is the way it is, and consider both languages in the light of the design criteria I set for C++. Those criteria will obviously differ from the criteria of Sun's Java team. Despite the syntactic similarities, C++ and Java are very different languages. In many ways, Java seems closer to Smalltalk than to C++.
Much of the relative simplicity of Java is - like for most new languages - partly an illusion and partly a function of its incompleteness. As time passes, Java will grow significantly in size and complexity. It will double or triple in size and grow implementation-dependent extensions or libraries. That is the way every commercially successful language has developed. Just look at any language you consider successful on a large scale. I know of no exceptions, and there are good reasons for this phenomenon. [I wrote this before 2000; now see a preview of Java 1.5.]
Java isn't platform independent; it is a platform. Like Windows, it is a proprietary(μετ. ιδιωτική) commercial platform. That is, you can write programs for Windows/Intel or Java/JVM, and in each case you are writing code for a platform owned by a single corporation and tweaked for the commercial benefit of that corporation. It has been pointed out that you can write programs in any language for the JVM and associated operating systems facilities. However, the JVM, etc., are heavily biased in favor of Java. It is nowhere near being a general reasonably language-neutral VM/OS.(χμμμ, πόσο GNU είναι τελικά?)
Personally, I'll stick to reasonably portable C++ for most of the kind of work I think most about and use a variety of languages for the rest.
What do you think of C#?
I have no comments on C# as a language. It will take a lot to persuade me that the world needs yet another proprietary language (YAPL). It will be especially hard to persuade me that it needs a language that is closely integrated with a specific proprietary operating system.
If you want to write exclusively for the .Net platform, C# isn't the worst alternative, but remember that C++ is a strongly supported - though less strongly hyped - alternative on that platform.
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
Μερικές ακόμα επισημάνσεις... Η Java _δεν_ είναι open-source και μάλλον δεν πρόκειται να γίνει ποτέ (ή, για να μην ακούγεται τόσο απόλυτο, θα γίνει open-source όταν γίνει και το Solaris open-source
). Μία από τις γλώσσες του .NET που υποστηρίζει operator overloading είναι η C#. Τα SDK για .NET είναι τόσο τζάμπα όσο το JDK της Java (αν δουλεύει κάποιος στο command line). Επίσης, υπάρχουν "χαμηλής ποιότητας" δωρεάν IDEs και για τα δύο. Και τα δύο φτιάχτηκαν "με βάση την αντικειμενοστρέφεια". Και τα δύο έχουν από μία μεγάλη εταιρία από πίσω, η οποία καθορίζει τη μοίρα τους (η Java είναι ελάχιστα πιο open, υπό την έννοια ότι έχει το Java Community Process, μία γραφειοκρατική οντότητα που παρουσιάζει ιδέες για υλοποίηση και προτυποποίηση στην Java, αλλά τον τελευταίο λόγο τον έχει η Sun).

Autocracy hates questions. Anarchy hates answers.
- Einherjar
- Venus Project Founder
- Posts: 3751
- Joined: Tue Jan 27, 2004 4:42 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Washington DC, USA
- Contact:
Πέρα από όλα αυτά που λέτε, μη ξεχνάμε ότι δεν είναι διαμάχη μεταξύ εταιριών, αλλά μεταξύ platforms. Και μη ξεχνάμε ότι δεν είναι καλό μόνο αυτό που είναι open αλλά και αυτό που σέβεται τα standars.
Τώρα για το θέμα της επιλογής, αν επιλέξεις το ένα ή το άλλο να ασχοληθείς περισσότερο, γιατί και με τα 2 πρέπει να ασχοληθείς κάποια στιγμή, δεν θα σε κατηγορήσει κανείς. Είναι απόλυτα προσωπικό θέμα το τι προτιμά ο καθένας. πρέπει όμως να έχει ο καθένας μια ελάχιστη γνώση και των 2.
Αν περιμένει κανείς μέσα από αυτή τη συζήτηση να καταλήξουμε στην καλύτερη πλατφόρμα, φοβάμαι ότι θα περιμένει για +inf. και καταλήγω όπως άρχισα...
περι ορέξεως κολοκυθόπιτα
Τώρα για το θέμα της επιλογής, αν επιλέξεις το ένα ή το άλλο να ασχοληθείς περισσότερο, γιατί και με τα 2 πρέπει να ασχοληθείς κάποια στιγμή, δεν θα σε κατηγορήσει κανείς. Είναι απόλυτα προσωπικό θέμα το τι προτιμά ο καθένας. πρέπει όμως να έχει ο καθένας μια ελάχιστη γνώση και των 2.
Αν περιμένει κανείς μέσα από αυτή τη συζήτηση να καταλήξουμε στην καλύτερη πλατφόρμα, φοβάμαι ότι θα περιμένει για +inf. και καταλήγω όπως άρχισα...
περι ορέξεως κολοκυθόπιτα
[Better to understand a little than to misunderstand a lot]