ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C  Το θέμα επιλύθηκε

...ασύγχρονα μαθήματα γλώσσας C

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό abramis » 18 Φεβ 2013, 09:46

δεν έχει σχέση με τη C η C++. η C++ μοιάζει με την Java. πρέπει δλδ ότι φτιάχνεις να το χεις μέσα σε μια κλάση. εγώ συνιστώ C γτ έχεις τον απόλυτο έλεγχο πάντα στο τι κάνεις και δεν χάνεσαι στον λαβύρινθο των κλάσεων και των σχέσεων μεταξύ τους. μπορείς να φτιάξεις το πρόγραμμα σου μέσα σε μια main συνάρτηση ή να σπάσεις το πρόγραμμα σου σε πολλές συναρτήσεις. έχεις το προνόμιο να χρησιμοποιείς δείκτες στην C φτιάχνοντας δυναμικούς πίνακες και αλλάζοντας/προσπελαύνοντας τα δεδομένα τους μέσω των διευθύνσεων τους στην μνήμη. επίσης οι δείκτες είναι πολύ χρήσιμοι για την διαχείριση αρχείων. το θέμα με την C είναι όταν μιλάμε για προχωρημένα μεγάλα προγράμματα. σε αυτά ίσως μειονεκτεί λίγο γτ φαντάζει πολύπλοκη σε σχέση με την οργάνωση και δομή που προσφέρουν η Java. αλλά και πάλι προτιμώ C :bow:
1 Γνώσεις Linux: Μέτρια┃ Προγραμματισμού: Μέτρια ┃ Αγγλικών: Μέτρια
2 Ubuntu 20.04 focal 5.4.0-33-generic 64bit (el_GR.UTF-8, KDE plasma), Windows 10
3 AMD Ryzen 5 1400 Quad-Core Processor ‖ RAM 16021 MiB ‖ Gigabyte B450M S2H
4 Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XTX [Radeon R7 260X/360] [1002:6658] {radeon}
5 enp8s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 16)
laptop:
Spoiler: show
Ubuntu 18.04 bionic 5.3.0-40-generic 64bit(GNOME gnome),Windows 10, Lenovo B50-80, Intel Celeron 3205U @ 1.50GHz, RAM 7902 MiB, Intel Broadwell-U Graphics [8086:1606] {i915}
Άβαταρ μέλους
abramis
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 757
Εγγραφή: 02 Αύγ 2011, 03:01
Τοποθεσία: Θεσ/νίκη
Launchpad: goldmetal
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό lucinos » 18 Φεβ 2013, 10:32

έχω γράψει κάποιες προσωπικές απόψεις στην συζήτηση εδώ:
http://www.linuxinside.gr/forum/8335/%C ... CE%AE-unix

για να συνοψίσω εδώ, πιστεύω τις C και C++ ακατάλληλες στην σύγχρονη εποχή για να γράψει κάποιος εφαρμογές. Η C είναι πολύ ισχυρή γλώσσα για να σε φέρει όσο πιο κοντά γίνεται στο σύστημα. Η C++ είναι στον άτυχο ενδιάμεσο χώρο να μην είναι τόσο θεμελιώδης όσο η C, ούτε αρκετά σύγχρονη. Αξίζει ωστόσο να ρίξεις μια ματιά και στην C++.
Spoiler: show
Γνώσεις → Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Μέτριος
Λειτουργικό → Ubuntu 11.04 natty 64-bit (el_GR.UTF-8)
Προδιαγραφές → CPU: 4x Intel Core i5 CPU 750 2.67GHz ‖ RAM 3953 MiB ‖ ASRock P55DE3
Κάρτες γραφικών: nVidia G92 [GeForce GTS 250] ⎨10de:0615⎬ (rev a2)
Δίκτυα: eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller ⎨10ec:8168⎬ (rev 03)
Άβαταρ μέλους
lucinos
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 828
Εγγραφή: 12 Δεκ 2010, 22:04
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό sofoklas » 19 Φεβ 2013, 21:50

lucinos έγραψε: Η C++ είναι στον άτυχο ενδιάμεσο χώρο να μην είναι τόσο θεμελιώδης όσο η C, ούτε αρκετά σύγχρονη


Ποια/ποιες θεωρείς σύγχρονες γλώσσες?
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Καθόλου ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.04 precise 3.2.0-37-generic-pae 32bit (en_US.UTF-8, GNOME gnome-shell), Ubuntu 3.2.0-29-generic-pae
3 Pentium Dual-Core CPU T4400 2.20GHz ‖ RAM 4020 MiB ‖ Packard Bell SJV50MV - Packard Bell EasyNote TJ65
4 nVidia GT216 [GeForce GT 240M] [10de:0a34] {nouveau}
5 eth0: Broadcom NetLink BCM5784M Gigabit Ethernet PCIe [14e4:1698] (rev 10) ⋮ wlan0: Atheros Inc. AR928X Wireless Network Adapter (PCI-Express) [168c:002a] (rev 01)
Άβαταρ μέλους
sofoklas
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 20 Ιούλ 2010, 12:44
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό simosx » 20 Φεβ 2013, 14:28

Off topic:
lucinos έγραψε:Η C++ είναι στον άτυχο ενδιάμεσο χώρο να μην είναι τόσο θεμελιώδης όσο η C, ούτε αρκετά σύγχρονη.


Αυτό είναι μια άποψη.
Αν κοιτάς για επαγγελματική κατεύθυνση για τον προγραμματισμό, τότε βλέπεις τι απαίτηση υπάρχει από γλώσσα. Και αν θέλεις πολύ τη δουλειά, τότε το κριτήριο είναι ότι θέλεις πολύ τη δουλειά.

Ωστόσο εδώ είμαστε offtopic, και νομίζω ότι έχουμε ενότητα για Φιλοσοφία στο φόρουμ όπου θα μπορούσαμε να συζητήσουμε για το θέμα αυτό.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό Ilias95 » 20 Φεβ 2013, 14:43

Για πρώτη γλώσσα ΜΗΝ επιλέξεις C++.
Μια καλή επιλογή θα ήταν η python. Υλικό θα βρεις μπόλικο.
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό lucinos » 20 Φεβ 2013, 22:39

sofoklas έγραψε:
lucinos έγραψε: Η C++ είναι στον άτυχο ενδιάμεσο χώρο να μην είναι τόσο θεμελιώδης όσο η C, ούτε αρκετά σύγχρονη


Ποια/ποιες θεωρείς σύγχρονες γλώσσες?


Προφανώς δεν μπορώ να κάνω μια υπόδειξη τού στυλ «η Scala είναι σύγχρονη γλώσσα» γιατί υπάρχει τεράστιο πλήθος γλωσσών η κάθε μία με τα δικά της χαρακτηριστικά.

Γενικά δεν μού αρέσει η ιδέα να μαθαίνει κάποιος γλώσσα για να βρει επάγγελμα, δεν το αποκλείω και αν κάποιος πάει έτσι έχει λογική αυτό που λέει ο σίμος, αλλά δεν το πιστεύω σαν γενική συνθήκη. Εξάλλου αν εγώ είχα εταιρεία και προσλάμβανα άτομα δεν θα με ενδιέφερε τόσο να ξέρουν την συγκεκριμένη γλώσσα που χρειάζεται περισσότερο η εταιρεία καθώς είναι πιο απλό να εκπαιδεύσεις το προσωπικό και έτσι και αλλιώς θα χρειαστεί εκπαίδευση στις συγκεκριμένες ανάγκες τής εταιρείας. Μια σοβαρή εταιρεία λογικά θα έδινε μεγαλύτερη σημασία στο να επενδύσει στο ανθρώπινο δυναμικό της. Βέβαια θα μού πει κανείς ότι οι εταιρείες δεν είναι σοβαρές και διαχείρισή τους είναι χειρότερη και πιο διεφθαρμένη και από τού ελληνικού κράτους.
Spoiler: show
Γνώσεις → Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Μέτριος
Λειτουργικό → Ubuntu 11.04 natty 64-bit (el_GR.UTF-8)
Προδιαγραφές → CPU: 4x Intel Core i5 CPU 750 2.67GHz ‖ RAM 3953 MiB ‖ ASRock P55DE3
Κάρτες γραφικών: nVidia G92 [GeForce GTS 250] ⎨10de:0615⎬ (rev a2)
Δίκτυα: eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller ⎨10ec:8168⎬ (rev 03)
Άβαταρ μέλους
lucinos
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 828
Εγγραφή: 12 Δεκ 2010, 22:04
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό sofoklas » 21 Φεβ 2013, 11:23

Δεν εχω σκοπο να ασχοληθω επαγγελματικα, απλα ειναι κατι που θα με ενδιεφερε να το μαθω για μενα.
Απο οτι εχω ψαξει αυτες τις μερες στο διαδυκτιο, κατεληξα να ασχοληθω με την C για αρχη. Τουλάχιστον θα με βοηθήσει να μαθω καποια πραγματα για το πως λειτουργει το linux κατω απο αυτο που βλέπω.
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Καθόλου ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.04 precise 3.2.0-37-generic-pae 32bit (en_US.UTF-8, GNOME gnome-shell), Ubuntu 3.2.0-29-generic-pae
3 Pentium Dual-Core CPU T4400 2.20GHz ‖ RAM 4020 MiB ‖ Packard Bell SJV50MV - Packard Bell EasyNote TJ65
4 nVidia GT216 [GeForce GT 240M] [10de:0a34] {nouveau}
5 eth0: Broadcom NetLink BCM5784M Gigabit Ethernet PCIe [14e4:1698] (rev 10) ⋮ wlan0: Atheros Inc. AR928X Wireless Network Adapter (PCI-Express) [168c:002a] (rev 01)
Άβαταρ μέλους
sofoklas
babeTUX
babeTUX
 
Δημοσιεύσεις: 14
Εγγραφή: 20 Ιούλ 2010, 12:44
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό lucinos » 21 Φεβ 2013, 15:35

αν είναι η πρώτη φορά που βλέπεις προγραμματισμό σου προτείνω να κοιτάξεις την Python και μετά να πας στην C.
Spoiler: show
Γνώσεις → Linux: Μέτριος ┃ Προγραμματισμός: Μέτριος ┃ Αγγλικά: Μέτριος
Λειτουργικό → Ubuntu 11.04 natty 64-bit (el_GR.UTF-8)
Προδιαγραφές → CPU: 4x Intel Core i5 CPU 750 2.67GHz ‖ RAM 3953 MiB ‖ ASRock P55DE3
Κάρτες γραφικών: nVidia G92 [GeForce GTS 250] ⎨10de:0615⎬ (rev a2)
Δίκτυα: eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller ⎨10ec:8168⎬ (rev 03)
Άβαταρ μέλους
lucinos
daemonTUX
daemonTUX
 
Δημοσιεύσεις: 828
Εγγραφή: 12 Δεκ 2010, 22:04
Εκτύπωση

Re: ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ ΣΤΗΝ C

Δημοσίευσηαπό Ilias95 » 21 Φεβ 2013, 19:14

sofoklas έγραψε:Δεν εχω σκοπο να ασχοληθω επαγγελματικα, απλα ειναι κατι που θα με ενδιεφερε να το μαθω για μενα.
Απο οτι εχω ψαξει αυτες τις μερες στο διαδυκτιο, κατεληξα να ασχοληθω με την C για αρχη. Τουλάχιστον θα με βοηθήσει να μαθω καποια πραγματα για το πως λειτουργει το linux κατω απο αυτο που βλέπω.

Το να μάθεις να προγραμματίζεις, δηλαδή να μετατρέπεις τις λογικές σου σκέψεις σε προγράμματα χρησιμοποιώντας basic types, selection statements, loops, functions κτλ. είναι ένα μεγάλο κομμάτι. Το να ασχοληθείς με low level καταστάσεις όπως το πως αποθηκεύονται τα δεδομένα σε έναν υπολογιστή, pointers, δυναμική διαχείριση μνήμης κλπ. είναι ένα άλλο μεγάλο (και δύσκολο) κομμάτι. Γιατί να προσπαθήσεις να τα μάθεις όλα ταυτόχρονα;

Ούτως ή άλλως τη λογική με την οποία θα μάθεις να σκέφτεσαι σε μία πιο υψηλού επιπέδου γλώσσα (βλ. python, ruby, perl) θα την μεταφέρεις και σε κάποια πιο χαμηλού επιπέδου όπως η C και θα έχεις να μάθεις μόνο τις «ιδιαιτερότητες» της νέας σου γλώσσας. Επίσης σε μια πιο υψηλού επιπέδου γλώσσα θα ξεκινήσεις να βλέπεις αποτελέσματα πολύ πιο γρήγορα πράγμα που μπορεί να σου τονώσει σημαντικά το ηθικό. ;)
Ilias95
saintTUX
saintTUX
 
Δημοσιεύσεις: 1548
Εγγραφή: 29 Απρ 2011, 23:26
Εκτύπωση

Προηγούμενη

  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Μαθήματα C