Jump to content

Recommended Posts

Posted

Τι είναι η C#

 

Η C# είναι μια σχετικά νέα αντικειμενοστραφής γλώσσα προγραμματισμού η οποία δημιουργήθηκε από την Microsoft. Δανείζεται πολλά στοιχεία, και έχει παρόμοια σύνταξη, με την C++ και την Java, κάνοντας την εκμάθηση της σχετικά εύκολη. Είναι γλώσσα ειδικά σχεδιασμένη για να υποστηρίζει το .NET framework της ίδιας εταιρείας. Βασικό χαρακτηριστικό της είναι ότι δεν παράγει απευθείας κώδικα μηχανής όπως η C++, άλλα ένα ενδιάμεσο κώδικα που στοχεύει το .NET.

 

 

Ένα βήμα πίσω: τι είναι το .NET

 

To .ΝΕΤ είναι μια νέα πλατφόρμα ανάπτυξης εφαρμογών σε περιβάλλοντα Windows. Σύμφωνα με την Microsoft, έχει ως σκοπό την απλοποίηση της ανάπτυξης εφαρμογών «κρύβοντας» τις τεχνικές λεπτομέρειες υλοποίησης πολλών λειτουργιών, όπως διαχείριση μνήμης, επικοινωνία μέσω δικτύου, είσοδο/έξοδο από συσκευές και αφήνοντας το προγραμματιστή ελεύθερο να επικεντρωθεί στην «λογική» του προγράμματος.

 

Το .NET χαρακτηρίζεται ως managed πλατφόρμα με την έννοια ότι δημιουργεί ένα ελεγχόμενο και ασφαλές περιβάλλον μέσα στο οποίο μπορεί να τρέξει μια εφαρμογή. Η ασφάλεια έγκειται για παράδειγμα στον έλεγχο στην δέσμευση και προσπέλαση της μνήμης (δεν υπάρχουν pointers, δεν μπορείς να προσπελάσεις μια θέση μνήμης εκτός πίνακα), στο τύπο των μεταβλητών και δεδομένων (δεν μπορείς να θέσεις μια float τιμή σε μια ακέραια μεταβλητή) ή στην αυτόματη υλοποίηση δικλείδων ασφαλείας.

 

Το .NET υποστηρίζει πληθώρα γλωσσών προγραμματισμού οι οποίες είναι ειδικά σχεδιασμένες για αυτό, όπως C#, Visual Basic.NET, J++ και managed C++. Στην πραγματικότητα, το .ΝΕΤ καταλαβαίνει μόνο μια γλώσσα προγραμματισμού την Microsoft Intermediate Language (MSIL). Συνεπώς, οποιαδήποτε γλώσσα προγραμματισμού μπορεί να μεταγλωττιστεί σε MSIL μπορεί να τρέξει στην πλατφόρμα .NET. Ο χρήστης μπορεί ακόμα να γράψει απευθείας ένα πρόγραμμα σε MSIL στο Notepad να το κάνει compile και να το τρέξει στο .ΝΕΤ!

 

Καρδιά του .ΝΕΤ αποτελείται λεγόμενο Common Language Runtime (CLR). Η οντότητα αυτή είναι το managed περιβάλλον μέσα στο οποίο τρέχουν οι εφαρμογές .ΝΕΤ. Κατά μια έννοια κρύβει το δύσχρηστο Win32 API που χρησιμοποιείται συχνά για προγραμματισμό εφαρμογών Windows και παρουσιάζει στο χρήστη ένα απλούστερο και περισσότερο εύχρηστο (βλέπε παρακάτω σχήμα).

 

VJuk8.png

 

Επίσης το .ΝΕΤ παρέχει και μια πληθώρα βιβλιοθηκών με έτοιμες λειτουργίες που μπορεί να χρησιμοποιήσει ο χρήστης για την ανάπτυξη των εφαρμογών.

 

Ο κώδικας που εκτελείται στo CLR έρχεται υπό μορφή assemblies, με επέκταση .dll ή .exe (δεν έχουν σχέση με τα κλασσικά .dll αρχεία των Windows). Το .ΝΕΤ, όπως και η Java χαρακτηρίζονται από την λεγόμενη Just in Time μεταγλώττιση. Ο κώδικας, στη γλώσσα προγραμματισμού που χρησιμοποιεί ο χρήστης, μεταγλωττίζεται αρχικά σε MSIL η οποία αποθηκεύεται σε ένα εκτελέσιμο .exe αρχείο ή σε μια βιβλιοθήκη .dll. Όταν ο χρήστης τρέξει το πρόγραμμα που ανέπτυξε, το CLR διαβάζει το MSIL κώδικα του αρχείο και Just In Time (JIT) το μεταγλωττίζει σε κώδικα Windows (native) έτοιμο προς εκτέλεση, και στην συνέχεια τον εκτελεί. Αυτό το επιπλέον βήμα πριν την εκτέλεση του κώδικα διαφοροποιεί μια managed εφαρμογή σε .ΝΕΤ από μια unmanaged σε C++ για παράδειγμα. Το πρόγραμμα σε C++ είναι ήδη μεταγλωττισμένο σε native Windows κώδικα και τρέχει απευθείας.

 

Ένα ακόμα χαρακτηριστικό του CLR είναι η αυτοματοποιημένη διαχείριση μνήμης. Σε κλασσικές γλώσσες προγραμματισμού (unmanaged) όπως η C++, όταν ο χρήστης δεσμεύσει μια ποσότητα μνήμης για να αποθηκεύσει ένα αντικείμενο πρέπει να είναι πολύ προσεκτικός στο να την αποδεσμεύσει, να την επιστρέψει στο σύστημα δηλαδή, όταν δεν την χρειάζεται. Αν το αγνοήσει αυτό συστηματικά, τότε θα δημιουργηθεί το επονομαζόμενο memory leak, δηλαδή η διαθέσιμη μνήμη του συστήματος θα ελαττώνεται διαρκώς και σε κάποιο σημείο τα Windows στερέψουν από ελεύθερη μνήμη.

 

Αντιθέτως το CLR προσφέρει ένα μηχανισμό Garbage Collection. Ο χρήστης μπορεί να ζητήσει όση μνήμη χρειάζεται από το σύστημα και να μην ασχοληθεί με την απελευθέρωση της. Ο Garbage Collector υλοποιεί μηχανισμούς που του επιτρέπουν να «καταλάβει» πότε μια δεσμευμένη ποσότητα μνήμης δεν χρησιμοποιείται πλέον και αυτόματα την απελευθερώνει για μετέπειτα χρήση.

 

Πλεονεκτήματα .ΝΕΤ

 

Το .ΝΕΤ έχει πολλά πλεονεκτήματα για την ανάπτυξη εφαρμογών:

Είναι εγγενώς αντικειμενοστραφής πλατφόρμα.

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

Η χρήση βιβλιοθηκών (assemblies) κάνει πολύ εύκολη την επαναχρησιμοποίηση κώδικα.

Παρέχει πολύ εύκολη εγκατάσταση. Αρκεί να αντιγράψουμε το κατάλογο της εφαρμογής σε ένα άλλο υπολογιστή και αυτή θα τρέξει άμεσα. Δεν υπάρχει installation, δεν πειράζει το registry.

Παρέχει πληθώρα έτοιμων λειτουργιών που κάνουν την ανάπτυξη κώδικα πολύ εύκολη.

Αυτοματοποιημένη διαχείριση μνήμης, ο χρήστης δεν χρειάζεται να ασχοληθεί με αποδέσμευση μνήμης.

 

Μειονεκτήματα .ΝΕΤ (για ανάπτυξη παιχνιδιών)

 

Το .ΝΕΤ έχει 2 μειονεκτήματα που αφορούν ειδικά την ανάπτυξη βιντεοπαιχνιδιών και όχι την γενική ανάπτυξη εφαρμογών:

Αυτοματοποιημένη διαχείριση μνήμης, ο χρήστης δεν χρειάζεται να ασχοληθεί με αποδέσμευση μνήμης.

Το CLR εισάγει μια (μικρή ίσως) καθυστέρηση στην εκτέλεση της εφαρμογής.

 

Το πρώτο, αν και είναι πολύ χρήσιμο χαρακτηριστικό για γενικό προγραμματισμό, σε ένα βιντεοπαιχνίδι μπορεί να δημιουργήσει πρόβλημα. H απελευθέρωση μνήμης που δεν χρησιμοποιείται πλέον είναι μια ακριβή εργασία (από πλευράς χρόνου), η οποία επιπλέον είναι μη-ντετερμινιστική, μπορεί να συμβεί δηλαδή οποτεδήποτε. Αυτό μπορεί να έχει σαν αποτέλεσμα ένα παιχνίδι που τρέχει σε ένα σταθερό ρυθμό 60 καρέ το δευτερόλεπτο, να δει μια δραματική πτώση στο ρυθμό ανανέωσης για 1 δευτερόλεπτο, πράγμα ανεπίτρεπτο στην ανάπτυξη βιντεοπαιχνιδιών.

 

Το δεύτερο αφορά τη Just in Time μεταγλώττιση που υποστηρίζει το CLR. Από τη μία εισάγει μια καθυστέρηση στην εκκίνηση του παιχνιδιού μιας και πρέπει να μεταγλωττιστεί ο κώδικας από την άλλη ο μεταγλωττιστής ο ίδιος δεν είναι βέλτιστος με την έννοια ότι δεν παράγει το καλύτερο δυνατό native κώδικα για Windows.

 

Και τα δυο προβλήματα αυτά μπορούν να αντιμετωπιστούν αν τα λάβουμε υπόψη κατά την ανάπτυξη της εφαρμογής.

 

Credits:Me,Google

  • 1 month later...
Posted

Τι είναι η C#

 

Η C# είναι μια σχετικά νέα αντικειμενοστραφής γλώσσα προγραμματισμού η οποία δημιουργήθηκε από την Microsoft. Δανείζεται πολλά στοιχεία, και έχει παρόμοια σύνταξη, με την C++ και την Java, κάνοντας την εκμάθηση της σχετικά εύκολη. Είναι γλώσσα ειδικά σχεδιασμένη για να υποστηρίζει το .NET framework της ίδιας εταιρείας. Βασικό χαρακτηριστικό της είναι ότι δεν παράγει απευθείας κώδικα μηχανής όπως η C++, άλλα ένα ενδιάμεσο κώδικα που στοχεύει το .NET.

 

 

ε?

  • 1 month later...
Posted

Πολυ ωρεο ,σινεχισε ετσ !

Ωραίο

Συνέχισε

'Ετσι (Τι 'ετσ, βλάχος είσαι? ;D)

 

Anyway, πολύ ωραίο!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Hello dude, i can help u out, i reached to u via DM, my studio is https://gh0tstudio.com i have worked with almost 40 brands on developing Private Lineage and Mu online servers, dashboard for vote pages and more. I sent u some examples too
    • L2 TARTARUS - HTML DESIGN       L2 KOMBAT - ANIMATED BORDER   L2 SERENITY - ANIMATED LOGO   L2 ARCANE - COMMUNITY BOARD     L2 AMERIKA - ADVERTISING BANNER   L2 ZERON - ADVERTISING BANNER  
    • SOCNET — 生日快乐! 感谢您一直陪伴我们! 为期一周的礼物、奖励和折扣盛宴! 今天我们庆祝SOCNET项目的生日——而礼物属于您! 我们为所有服务准备了超强优惠: ⭐ SOCNET STORE — 商店 (网站/Telegram) 1. 优惠码BIRTHDAY — 20%折扣 可用于购买任何商品! 2. 大额购买礼品 在任意商品上消费$200,即可任选一件价值不超过$10的商品——免费赠送! 3. 在我们商店主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐ SOCNET SMM 面板 1. 充值 = 奖励 充值$100并获得+$5余额。 充值后请在面板内创建工单。 2. 在我们的 SMM 面板主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐SOCNET STARS — Telegram Stars/Premium 购买机器人 1. 大额购买 = 巨额奖励 单笔购买>1000 Stars,即可获赠+100 Stars! 购买后请联系支持。 2. 在我们 Stars 购买机器人的主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 发表评论: ➡ 1个论坛 = +50 Stars余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐SOCNET SMS 虚拟号码服务 1. 充值赠送奖励 充值$50即可获赠+$10。 充值后只需联系支持即可。 2. 在我们的 SMS 服务主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 让我们一起庆祝吧! 活动有效期为2025年12月02日至12月07日(含)。 不要错过——这是全年最优惠的条件! 新闻: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh 联系方式 & 支持: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • SOCNET — 生日快乐! 感谢您一直陪伴我们! 为期一周的礼物、奖励和折扣盛宴! 今天我们庆祝SOCNET项目的生日——而礼物属于您! 我们为所有服务准备了超强优惠: ⭐ SOCNET STORE — 商店 (网站/Telegram) 1. 优惠码BIRTHDAY — 20%折扣 可用于购买任何商品! 2. 大额购买礼品 在任意商品上消费$200,即可任选一件价值不超过$10的商品——免费赠送! 3. 在我们商店主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐ SOCNET SMM 面板 1. 充值 = 奖励 充值$100并获得+$5余额。 充值后请在面板内创建工单。 2. 在我们的 SMM 面板主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐SOCNET STARS — Telegram Stars/Premium 购买机器人 1. 大额购买 = 巨额奖励 单笔购买>1000 Stars,即可获赠+100 Stars! 购买后请联系支持。 2. 在我们 Stars 购买机器人的主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 发表评论: ➡ 1个论坛 = +50 Stars余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐SOCNET SMS 虚拟号码服务 1. 充值赠送奖励 充值$50即可获赠+$10。 充值后只需联系支持即可。 2. 在我们的 SMS 服务主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 让我们一起庆祝吧! 活动有效期为2025年12月02日至12月07日(含)。 不要错过——这是全年最优惠的条件! 新闻: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh 联系方式 & 支持: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • SOCNET — 生日快乐! 感谢您一直陪伴我们! 为期一周的礼物、奖励和折扣盛宴! 今天我们庆祝SOCNET项目的生日——而礼物属于您! 我们为所有服务准备了超强优惠: ⭐ SOCNET STORE — 商店 (网站/Telegram) 1. 优惠码BIRTHDAY — 20%折扣 可用于购买任何商品! 2. 大额购买礼品 在任意商品上消费$200,即可任选一件价值不超过$10的商品——免费赠送! 3. 在我们商店主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐ SOCNET SMM 面板 1. 充值 = 奖励 充值$100并获得+$5余额。 充值后请在面板内创建工单。 2. 在我们的 SMM 面板主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐SOCNET STARS — Telegram Stars/Premium 购买机器人 1. 大额购买 = 巨额奖励 单笔购买>1000 Stars,即可获赠+100 Stars! 购买后请联系支持。 2. 在我们 Stars 购买机器人的主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 发表评论: ➡ 1个论坛 = +50 Stars余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 ⭐SOCNET SMS 虚拟号码服务 1. 充值赠送奖励 充值$50即可获赠+$10。 充值后只需联系支持即可。 2. 在我们的 SMS 服务主题帖中发表评论可获赠余额 "Happy Birthday, SOCNET. My username/email is":BHW、BFD、voided、nulled 和 patched 论坛。 ➡ 1个论坛 = $1余额! 通过下方提供的联系方式将帖子截图发送给客服,附上您的登录名/邮箱,即可领取奖励。 让我们一起庆祝吧! 活动有效期为2025年12月02日至12月07日(含)。 不要错过——这是全年最优惠的条件! 新闻: ➡ Telegram 频道: https://t.me/accsforyou_shop ➡ WhatsApp 频道: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord 服务器: https://discord.gg/y9AStFFsrh 联系方式 & 支持: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock