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

Ολοι οι πιθανοι συνδιασμοι


Rotisakhs

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

Δεν είναι 36 εις την 20η, αλλά 62 εις την 20η. Κι αυτό γιατί τα 26 γράμματα υπολογίζονται επί δύο, μια φορά τα πεζά και μία τα κεφαλαία, συν δέκα αριθμοί μετά. Το αποτέλεσμα είναι ένα εφτά με τριανταπέντε μηδενικά από πίσω. Ακόμα κι αν ο υπολογιστής επιχειρεί ένα εκατομμύριο συνδυασμούς το δευτερόλεπτο θα χρειαζόσουν 22 εξάκις εκατομμύρια χρόνια για να κάνεις όλους τους υπολογισμούς. Ούτε η NSA δεν μπορεί να το σπάσει αυτό.

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

Δεν είναι δύσκολη η C, ο νέος έχει δίκιο*. Αλλά για να κάνεις μια σοβαρή εφαρμογή είναι δύσκολο, όπως και με οποιαδήποτε γλώσσα! H C έχει πολύ μικρό σύνολο εντολών (όπως και η Pascal). Το δύσκολο είναι να αρχίσεις να προγραμματίζεις "μαύρα κουτιά" δηλαδή να παίρνεις βιβλιοθήκες και να τις χρησιμοποιείς. Εκεί θα βρεις δυσκολία σε κάθε γλώσσα. Τα λέω μαύρα κουτιά γιατί πρέπει να δοκιμάσεις για να δεις τι κάνουν!

 

*Ποια εντολή της C θεωρεί κανείς δύσκολη;

 

Σοβαρά τώρα, πλάκα έχει εδώ και κανα 2μηνο που ξεκίνησες αλλά μπορείς κάποια στιγμή να σταματήσεις να τρολλάρεις?

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

Δεν είναι 36 εις την 20η, αλλά 62 εις την 20η. Κι αυτό γιατί τα 26 γράμματα υπολογίζονται επί δύο, μια φορά τα πεζά και μία τα κεφαλαία, συν δέκα αριθμοί μετά. Το αποτέλεσμα είναι ένα εφτά με τριανταπέντε μηδενικά από πίσω. Ακόμα κι αν ο υπολογιστής επιχειρεί ένα εκατομμύριο συνδυασμούς το δευτερόλεπτο θα χρειαζόσουν 22 εξάκις εκατομμύρια χρόνια για να κάνεις όλους τους υπολογισμούς. Ούτε η NSA δεν μπορεί να το σπάσει αυτό.

 

Η NSA προτιμά πιο πλάγιους τρόπους από το να δοκιμάσει κατά μέτωπο να σπάσει κωδικούς.

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

Η NSA προτιμά πιο πλάγιους τρόπους από το να δοκιμάσει κατά μέτωπο να σπάσει κωδικούς.

 

Κάτι σαν αυτό ας πούμε; :-D

https://www.explainxkcd.com/wiki/index.php/538:_Security

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

Αυτό που χαρακτηρίζεις πολύ εύκολο (ή δύσκολο, δεν έχει σημασία) είναι στην καλύτερη περίπτωση όχι η γλώσσα, αλλά το σούπερ μηδαμινό υποσύνολό της που μαθαίνετε (και το μαθαίνετε και λάθος, φυσιολογικό εφόσον η C είναι απίστευτα δύσκολη γλώσσα σε σημείο που ακόμα και έμπειροι επαγγελματίες κάνουν "απλά" λάθη).

Με λίγα λόγια το να λες την C εύκολη είναι σαν να πας σε ένα forum μουσικής και να πεις "Το βιολί ? Απο τα ευκολότερα όργανα.."

Το να αντιμετωπίσει ενας αρχάριος ένα "segmentation fault (core dumped)" , ειναι κατά την γνώμη μου μια πολύ πιο απαιτητική διαδικασία

...για να μη μιλήσουμε καν για το γεγονός ότι η C σου επιτρέπει να γράφεις λάθος προγράμματα

Εξαρτάται αν μιλάμε θεωρητικά ή πρακτικά. Θεωρητικά, η C είναι όντως από τις πιο εύκολες γλώσσες. Το συντακτικό της και οι τρόποι με τους οποίους μπορείς να δουλέψεις είναι μετρημένα κουκιά σε αντίθεση με άλλες γλώσσες που μπορείς να κάνεις τα κέρατα και το κάθε τι μπορεί να γίνει με 7 τρόπους.

 

c = b + a;
Βλέποντας το παραπάνω σε C ξέρεις αμέσως τι κάνει. Σε C++ (και υποθέτω και σε C#, python, κτλ) ακόμη και αυτό το πολύ απλό δεν είναι και τόσο απλό. Τι τύπο έχουν τα a, b, c ? Μήπως οι τελεστές = και + έχουν γίνει overload και κάνουν κάτι τελείως διαφορετικό ?

 

for (std::vector<int>::const_iterator itr = myvec.cbegin(); itr != myvec.cend(); ++itr)
for (auto& x : myvec)
Ο κώδικας σε C που υλοποιεί την πρώτη γραφή θα ήταν μεν 50 γραμμές αλλά θα ήταν πιο ευκολονόητος σε έναν αρχάριο από ό,τι το συγκεκριμένο. Και ειδικά σε C++11 μπορεί να γραφεί όπως είναι στη 2η γραφή οπότε αν δεν ξέρεις το συγκεκριμένο idiom άντε να καταλάβεις τι κάνει.

 

Ειδικά για κάποιον σαν εμένα που δεν είναι και το πρώτο μυαλό, η C φαίνεται πολύ πιο εύκολη από ό,τι η C++ και λοιπές γλώσσες. Όλα αυτά θεωρητικά βέβαια.

 

Πρακτικά συμφωνώ 100% με όσα είπατε για λάθος πρακτικές, segmentation faults, UB, κτλ.

 

Αμφιβάλλω αν υπάρχει έστω και ένας σ' αυτό το forum που μπορεί να μου εξηγήσει χωρίς να ψάξει εγκυκλοπαίδειες τι είναι το strict aliasing rule και υπό ποιές ακριβώς συνθήκες παραβιάζεται. Κι όμως, η παραβίαση του SAR είναι UB => ζονκ.

[troll]

Θέλω να πιστεύω πως εγώ είμαι ένας που μπορεί :P

[/troll]

 

Η NSA προτιμά πιο πλάγιους τρόπους από το να δοκιμάσει κατά μέτωπο να σπάσει κωδικούς.

Κάτι σαν αυτό ας πούμε; :-D

https://www.explainxkcd.com/wiki/index.php/538:_Security

Ακόμη καλύτερο από το να τον δείρεις με το κλειδί είναι να προσλάβεις ένα μοντέλο πολυτελείας και την βάζεις να τον πετύχει τυχαία σε ένα bar και να του την πέσει. Κάποια στιγμή την ώρα που κάνει ο τύπος ντους ή όποτε κάτσει η φάση, συνδέει ένα διαμορφωμένο flashάκι για αυτή τη δουλειά και mission accomplished.

 

Εγώ αυτό θα έκανα στη θέση τους :P Θα σκάσουν ένα χιλιάρικο ή όποιο μεροκάματο παίρνουν οι κοπέλες σε αυτό το επάγγελμα αλλά το θύμα δεν θα καταλάβει τίποτα σε αντίθεση με το ξύλο με το κλειδί. Άσε που εκτός ότι το χιλιάρικο είναι ψίλουλα για τέτοιους οργανισμούς/εταιρίες, μόνο το GPU που θα έβαζες να σπάσει τους κωδικούς θα έκανε ένα χιλιάρικο.

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

 
 

 



Ακόμη καλύτερο από το να τον δείρεις με το κλειδί είναι να προσλάβεις ένα μοντέλο πολυτελείας και την βάζεις να τον πετύχει τυχαία σε ένα bar και να του την πέσει. Κάποια στιγμή την ώρα που κάνει ο τύπος ντους ή όποτε κάτσει η φάση, συνδέει ένα διαμορφωμένο flashάκι για αυτή τη δουλειά και mission accomplished.

Εγώ αυτό θα έκανα στη θέση τους :P Θα σκάσουν ένα χιλιάρικο ή όποιο μεροκάματο παίρνουν οι κοπέλες σε αυτό το επάγγελμα αλλά το θύμα δεν θα καταλάβει τίποτα σε αντίθεση με το ξύλο με το κλειδί. Άσε που εκτός ότι το χιλιάρικο είναι ψίλουλα για τέτοιους οργανισμούς/εταιρίες, μόνο το GPU που θα έβαζες να σπάσει τους κωδικούς θα έκανε ένα χιλιάρικο.

 

 

To είχα διαβάσει κάπου αλλά δε θυμάμαι που :

 

Έβαλαν στοίχημα με ένα πρόεδρο εταιρίας ότι θα μπορούσαν να αποσπάσουν βιομηχανικά μυστικά από την εταιρία.Ο πρόεδρος καυχιόταν ότι δεν υπήρχε περίπτωση να μπουν στα συστήματα τους με τίποτα.

Τι έκαναν; Παρακολούθησαν ένα στέλεχος που βρέθηκε σε παιδική χαρά με το παιδί του και ο "επιτιθέμενος μπαμπάς" με το άλλο παιδί,ζήτησε να δανειστεί το λαπτοπ για να κατεβάσει τα μέιλ του σε ένα στικάκι γιατί ήταν επείγον.Η ζημιά έγινε όμως.

Ποιός άλλωστε θα υποπτευόταν ένα μπαμπά με ένα παιδί;

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

Ειδικά για κάποιον σαν εμένα που δεν είναι και το πρώτο μυαλό, η C φαίνεται πολύ πιο εύκολη από ό,τι η C++ και λοιπές γλώσσες. Όλα αυτά θεωρητικά βέβαια.

 

Πρακτικά συμφωνώ 100% με όσα είπατε για λάθος πρακτικές, segmentation faults, UB, κτλ.

Σίγουρα υπάρχει δυσκολότερο learning curve για να γράψεις "απλά" προγράμματα σε κάποιες άλλες γλώσσες (τα loops που έδειξες πχ). Το παράδειγμα της C++ βέβαια δε νομίζω ότι ταιριάζει σ' αυτή τη συζήτηση επειδή είναι ακόμα χειρότερη από τη C μ' αυτό τον τρόπο.

 

Πάντως το point μου είναι ότι όσον αφορά τον αρχάριο για τον οποίο μιλάμε, ο compiler αποτελεί το de facto κριτή του "αν το πρόγραμμα είναι εντάξει". Και λόγω του γνωστού σκεπτικού με τον οποίο γράφτηκε το στάνταρ, στη C ο compiler θα σου βγάλει εντάξει ακατονόμαστα πράγματα κλπ κλπ.

 

Θέλω να πιστεύω πως εγώ είμαι ένας που μπορεί :P

Απ' όσο βλέπω και γω πιστεύω πως αν υπάρχει ένας που μπορεί, αυτός είσαι εσύ.  :)

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

Σοβαρά τώρα, πλάκα έχει εδώ και κανα 2μηνο που ξεκίνησες αλλά μπορείς κάποια στιγμή να σταματήσεις να τρολλάρεις?

Έχεις πρόβλημα μεγάλο! Μάλλον εσύ τρολλάρεις!

Αν έχεις κάτι για τη C μπορείς να το γράψεις εδώ και γίνε πιο κόσμιος!

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

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

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

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

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

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

Σύνδεση

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

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

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