Προς το περιεχόμενο

Γλωσσες προγραμματισμου που δουλευουν αποκλειστικα με .net framework


geo1st487

Προτεινόμενες αναρτήσεις

  • Απαντ. 74
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Υπάρχει και η ironpython.

 

Μια υλοποίηση τις Python για το .net.

 

Και αντίστοιχα IronRuby.

 

EDIT:

 

Και η c++

 

Η CLR c++ δεν ξέρω γιατι υπάρχει :eek: :eek:

 

Δεν μπορώ να προσεγγίσω καν το λόγο δημιουργίας της.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
[..]

Η CLR c++ δεν ξέρω γιατι υπάρχει :eek: :eek:

 

Δεν μπορώ να προσεγγίσω καν το λόγο δημιουργίας της.

Έτσι όπως το βλέπω εγώ, είναι μια προσπάθεια της MS να δώσει RAD χαρακτηριστικά (αλά C++ Builder) στην κλασσική (MFC) Visual C++ δίχως να γράψει από το μηδέν ένα καθαρό RAD native framework όπως είναι το "VCL" του C++ Builder / Delphi (άμεσοι ανταγωνιστές της σε αυτό τον τομέα). Ο τρόπος όμως που προσπαθεί να το επιτύχει (συγκερασμός αντιθέτων, δηλαδή "native & managed" κώδικα) δεν θα έλεγα ότι κρίνεται πετυχημένος.

Επεξ/σία από Directx
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Η CLR c++ δεν ξέρω γιατι υπάρχει :eek: :eek:

 

Δεν μπορώ να προσεγγίσω καν το λόγο δημιουργίας της.

 

 

  1. Για να επιτρέψουν σε όσους γράφουν σε c++ να χρησιμοποιήσουν τα 7 δισεκατομμύρια κλάσεις που υπάρχουν στο .net
  2. Για να επιτρέψουν σε όσους ήδη έχουν c++ codebase να κινηθούν προς managed προγράμματα "ανώδυνα" και σταδιακά
  3. Γιατί αν δεν το έκαναν θα άφηναν σταδιακά ξεκρέμαστους τους (αμέτρητους) πελάτες τους που χρησιμοποιούν c++, καθώς η συντριπτική πλειοψηφία του development καινούριων εργαλείων από την πλευρά της MS γίνεται σε .net

 

Όλα τα παραπάνω μαζί: γιατί η MS θέλει να κατευθύνει γενικά την ανάπτυξη προγραμμάτων στο μέλλον προς τη managed πλατφόρμα της (και πολύ καλά κάνει). Για να γίνει αυτό πρέπει να αποφύγει κάθε καταστροφικό για το σχέδιο fragmentation. Και για να το αποφύγει πρέπει να προσφέρει τρόπο στον κόσμο της c++ να περάσει σε .net.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@Directx, @defacer

 

Σας ευχαριστώ για τις διευκρινίσεις.

 

Απλά μου φαίνονταν και ακόμα μου φαίνεται κάπως η διαδικασία του να γράφεις manged C++ ή να γραφεις C++ που δεν παράγει native πρόγραμμα αλλα CLI code για virtual machine.

 

Τουλάχιστον (το ρωτώ γιατί δεν έχω ιδέα αν ξέρει κάποιος ας μου πει) έχεις την δυνατότητα όταν γράφεις C++/CLI να έχεις πιο low level έλεγχο του CLR (ή όποιας virtual machine εκτελεί CLI)?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Απλά μου φαίνονταν και ακόμα μου φαίνεται κάπως η διαδικασία του να γράφεις manged C++ ή να γραφεις C++ που δεν παράγει native πρόγραμμα αλλα CLI code για virtual machine.

 

Τουλάχιστον (το ρωτώ γιατί δεν έχω ιδέα αν ξέρει κάποιος ας μου πει) έχεις την δυνατότητα όταν γράφεις C++/CLI να έχεις πιο low level έλεγχο του CLR (ή όποιας virtual machine εκτελεί CLI)?

 

Σου φαίνεται κάπως γιατί το γράφεις χρησιμοποιώντας μια σύνταξη που έχεις συνηθίσει να χρησιμοποιείς για native κώδικα, αλλά η σύνταξη μπορεί να επιλεγεί αυθαίρετα. It's all in your mind. :)

 

Για την ερώτηση όχι, δεν έχεις έλεγχο του CLR (αφού βασικά η ιδέα είναι ότι το CLR έχει έλεγχο πάνω σου και όχι το αντίθετο). Το να είχες θα ήταν defeating the purpose. Όμως τι σκεφτόσουν που σε έκανε να ρωτήσεις;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

[..]Τουλάχιστον (το ρωτώ γιατί δεν έχω ιδέα αν ξέρει κάποιος ας μου πει) έχεις την δυνατότητα όταν γράφεις C++/CLI να έχεις πιο low level έλεγχο του CLR (ή όποιας virtual machine εκτελεί CLI)?

Μμμ.. και ναι και όχι, εξαρτάται πάντα από το τι θέλεις να κάνεις και πόσο βαθιά θες να προχωρήσεις. Συνήθως για τέτοια κόλπα χρειάζεσαι γνώση του ".NET Reflection Namespace" το οποίο υποθέτω ότι είναι προσβάσιμο και μέσο της C++ και επιτρέπει συνολικό έλεγχο στην διαχείρισή του managed κώδικα.

 

Πάντως καθώς το .NET Framework συνολικά είναι πανίσχυρο (κενά πάντα θα υπάρχουν σε ορισμένες υπηρεσίες btw) σπάνια καταφεύγεις στο Reflection κλπ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν το ζητούμενο είναι το managed coding, τότε η C# δεν υποσκελίζει χαλαρά την C++/CLI;

Κατά την γνώμη μου, ναι. Πρόκειται για μια trouble-free γλώσσα που σου επιτρέπει να επικεντρωθείς στο "πρόβλημα" και λιγότερο σε θέματα υλοποίησης, βέβαια σε αυτό το τελευταίο βοηθάει πολύ και το .NET Framework συνολικά (πλούσιες βιβλιοθήκες δομημένες συμβατά μεταξύ τους, πολύ έξυπνος debugger, εξαιρετική τεκμηρίωση κλπ).

 

Αλλά το θέμα εδώ είναι ότι όταν η Embarcadero παρέχει τα C++ Builder & Delphi που επιτρέπουν άνετη ανάπτυξη σε C++ το ένα πακέτο και σε OO PASCAL το άλλο, με την χρήση ενός κοινού native framework (VCL) από το οποίο η MS εμπνεύστηκε το .NET Framework (ο πατέρας του .NET & C# ήταν ο πατέρας της Delphi & VCL), η MS αναγκαστικά πρέπει να δώσει κάτι και για όσους προτιμούν το native κώδικα.. και δεν έχει κάτι ανάλογο να προτάξει πέραν της MFC και του .NET & C++ (παλαιότερα και με διάφορους περιορισμούς υπήρχε η VB 6- και πιο ειδικευμένα εργαλεία Visual FoxPro -για ανάπτυξη native εμπορικού λογισμικού αλλά αυτά έχουν πλέον πεθάνει).

 

(άσε επίσης ότι για C++ υπάρχει και το πανίσχυρο QT οπότε η πίεση στην MS αυξάνει).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...