Welche Variante ist Ressourcensparender?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Moin, ich frage mich welche Variante Ressourcensparender ist:



  • Deine ganzen Varianten sind identisch.


    Du musst wissen, bevor deine .pwn Datei zu einer .amx Datei wird, wird dein Skript kompiliert.


    Und bevor das passiert, kommt der pre-kompiler und verarbeitet deine #define.


    Und zwar werden diese einfach ersetzt:



    //Variante 1
    new x;
    printf("%d",x);


    //Variante 2
    #define ROFL "%d",x
    new x;
    printf(ROFL);


    Nach dem pre-compiler wird Variante 2 zu Variante 1.


    Insofern, sparst du mit einem #define meistens nur Schreibarbeit und machst es eventuell ein wenig übersichtlicher, wenn du es richtig einsetzt.


    und es ist egal wie du bzw ob du Klammern setzt und Umbrüche lässt. Das wird so oder so alles entfernt während des compilen und umgewandelt :)


    Das dient alles lediglich der Übersicht, macht aber keinen "Ressourcen" unterschied :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hätte mich auch gewundert, wenn hier jetzt jemand was anderes gesagt hätte :D
    Btw du kannst auch Makros erstellen, falls du noch was zusätzliches zu der Meldung hinzufügen willst ^^
    Falls dich das mit den Ressourcen und der Performance interessiert, dann solltest du lieber auf Strukturen achten (if-else, switch, foreach, while, do-while usw.). ^^


    Es ist auch nicht schlimm, von PreprocessorSprachen oder ähnliches im Bereich der Programmierung mit PAWN nichts zu wissen (wobei man eigentlich bei C auch schon vom Precompiler oder ner abstract machine gehört haben sollte). PAWN hat viele coole Dinge, die viele nicht kennen. Man kann auch direkt in PAWN mit Assembler arbeiten. Assembler ist eine Preprocessor Sprache, die man zum Beispiel beim debuggen eines Programmes erhält (also den Quellcode in dieser Sprache).
    Wenn man sich damit auskennt, kann man bei einigen Dingen deutlich die Performance verbessern (wobei das meiste nicht mehr optimierbar ist)

  • @Alf21 Ich bin ja jetzt 16 und auf der suche nach ner Ausbildung und möchte gern in Richtung Anwendungsentwicklung gehen, insofern das mit meinem Realschulabschluss klappt, allerdings hat ich schon einige male vor etwas in Richtung HTML oder C++ oder andere Programmiersprachen zu lernen, einfach um auf die Ausbildung etwas vorbereitet zu sein, aber wenn da nicht etwas dahinter steckt, dass mich wirklich interessiert, lern ich einfach nichts^^ Das ist bei PAWN z.B. ganz anders. Ich habs mal mit Android versucht, hab aber nur n Button erstellt wo du drauf klickst bis eine Progressbar voll ist & dann kriegst du 1 Punkt mehr, aber weiter hab ichs auch nicht verfolgt. Ansonsten kann ich Lua für MTA halbwegs gut.

  • @Alf21 Ich bin ja jetzt 16 und auf der suche nach ner Ausbildung und möchte gern in Richtung Anwendungsentwicklung gehen, insofern das mit meinem Realschulabschluss klappt, allerdings hat ich schon einige male vor etwas in Richtung HTML oder C++ oder andere Programmiersprachen zu lernen, einfach um auf die Ausbildung etwas vorbereitet zu sein, aber wenn da nicht etwas dahinter steckt, dass mich wirklich interessiert, lern ich einfach nichts^^ Das ist bei PAWN z.B. ganz anders. Ich habs mal mit Android versucht, hab aber nur n Button erstellt wo du drauf klickst bis eine Progressbar voll ist & dann kriegst du 1 Punkt mehr, aber weiter hab ichs auch nicht verfolgt. Ansonsten kann ich Lua für MTA halbwegs gut.

    Eine Ausbildung ist da um davon zu lernen aber ich sag mal so was man in PAWN macht wirst du in der Art schon bei C# oder Java machen aber niemals das selbe dafür gibt es viel zu viele Möglichkeiten.
    Realschulabschluss wird schwer da viele Personen mit etwas Praxis Erfahrung suchen (Fachoberschüler) aber das ist nicht überall so kann sich von Stadt zu Stadt anders verhalten.


    Spreche da etwas aus eigener Erfahrung da ich aktuell mein Studium in angewandter Informatik mache.

  • @Jadeclon ich bin auch nicht sooo viel älter als du und gehe noch zur Schule ^^ Das alles hat - wie du richtig sagst - mit Interesse zu tun. Denn es ist nichts anderes als ein Hobby.
    Um also aus einem Hobby sich eine Zukunft zu bauen, muss man weit mehr als nur seine Lust hinein investieren.
    Man muss sich in der Freizeit nicht nur auf Copy&Paste konzentrieren, sondern tiefer in die Materie gehen.
    Ich habe damals mit Java angefangen. Hier gibts nen Plugin namens Shoebill, womit man Java Gamemodes und Plugins für SAMP schreiben kann. Ist echt cool und spätestens dann wirst du merken, was es für Möglichkeiten gibt, wie auch schon @MnX sagte. So verlierst du die Lust nicht und es bleibt dir Spaß, da Java und die tollen Editors / IDEs wie IntelliJ IDEA oder Eclipse viel Arbeit abnehmen. Zum Beispiel entstehen beim Programmieren normalerweise "Speicherleichen", da man ja Variablen deklariert und die irgendwo auf dem Heap rumlungern, es sei denn es handelt sich um normale Integers oder chars,... die gammeln auf dem Stack rum. Auf jedenfall muss man in C++ diese manuell löschen, da sie sonst Speicher fressen. In Java gibts den GarbageCollector, der dir die Arbeit abnimmt. Drum wäre das meine Empfehlung, ist echt toll ;)


    Und wenn du ordentliche Referenzen, Projekte, Interesse und Erfahrung aufweisen kannst, wirst du mit Sicherheit genommen, denn an praktischer Erfahrung fehlt es dann nicht mehr!

  • Beitrag von Xauber ()

    Dieser Beitrag wurde von seegras gelöscht ().
  • @MnX Ja, seh ich auch in den ganzen Stellenangeboten, das sie gern Fachabiturienten hätten...

    Versuch es, das Fachabi besteht aus einem 1 Jährigen Praktikum da hat man wenn man sich gut anstellt die chance übernommen zu werden.
    Ich habe dort ein Jobangebot bekommen denn ich aber ablehnte da ich Studieren wollte. Jedenfalls find ich Fachhochschule angenehmer als normale Schule da es auf ein Schwerpunkt ausgelegt ist.

  • Auf jedenfall muss man in C++ diese manuell löschen

    Muss man nicht unbedingt. Smartpointer und so.
    http://www.cplusplus.com/reference/memory/unique_ptr/
    http://www.cplusplus.com/reference/memory/shared_ptr/


    Bzw.:
    https://de.wikibooks.org/wiki/…verwaltung/_Smart_Pointer


    Auf Schule würde ich jetzt so stark keinen Wert legen. Wichtig ist, was du kannst. Such dir auch eine Firma, bei der du was lernst. Wir haben hier im Umkreis zum Beispiel Firmen, da bist du als Fachinformatiker der besser bezahlte Sekretär. Bekommst eine Vorgabe und setzt die um. Viel lernen tust du dabei nicht.


    In meinem aktuellen Unternehmen steigen auch Fachinformatiker nach ihrer Ausbildung ein wie ein Studierter. (Fast, mit einigen Abstrichen halt. Insbesondere beim Gehalt denke ich, hängt aber von den entsprechenden Personen stark ab)
    Jedenfalls bist du von Tag 1 Mitglied in einem Projektteam und bekommst entsprechende Erfahrung, die 1000x mehr wert ist als jede weitere Programmiersprache, die du lernst.


    Wichtig ist, dass du bei der Bewerbung bereits angibst was du in dem Bereich gemacht hast. Auch wenn das vielleicht etwas dumm klingen mag, wenn du schon, mehr oder weniger erfolgreich, mit einer Programmiersprache gearbeitet hast bist du in der Regel mehr Wert als ein Abiturient ohne Hintergrundwissen. Auch wenn es sich dabei um SA:MP handelt. Datentypen sagen dir bereits was, du weißt was eine Variable ist, du kannst mit Arrays und Schleifen was anfangen. Das können hier an der Hochschule viele nach dem 3. Semester noch nicht. ;)