Yalu X. schrieb: > Nehmen wir besser den GCC für PCs, denn der AVR-GCC ist ein Cross- > Compiler und übersetzt sich deswegen nicht selber. Du hast sicher bemerkt dass es hier im Thread um Compiler wie AVR GCC geht und nicht um beliebige andere Compiler, mit diesem Mass solltest Du auch messen. Wenn Deine Aussage hier: > Guter Brauch ist es ja eigentlich, einen Compiler in seiner eigenen > Sprache zu schreiben, also einen C-Compiler in C, einen Lisp-Compiler in > Lisp usw., so dass er sich selbst übersetzen kann. Das hat neben > technischen und organisatorischen Vorteilen auch einen interessanten > philosophischen Aspekt: Er ist die Existenzberechtigung seiner selbst. nichts anderes ausdrücken soll als: > "Der GCC ist die Existenzberechtigung für den GCC" dann ist sie nichts als eine leere Worthülse. Jede Sache ist die Existenzberechtigung ihrer selbst, das kannst Du auf Dich und auf jedes Atom anwenden. Versteht man es dagegen wie's ich verstand, dann fehlt nach Deiner Aussage im Umkehrschluss Compilern die nicht in ihrer eigenen Sprache geschrieben wurden die Existenzberechtigung. Und das ist auch wieder Käse.
Yalu X. schrieb: > Wenn du dem Paul jetzt noch eröffnest, dass man mit den Defines C > auch an andere Sprachen als Bayerisch anpassen kann (Paul ist kein > Bayer), wird aus ihm sicherlich ein neuer C-Fan ;-) >> #define und & >> #define alogischund && >> #define oda | >> #define alogischoda || >> #define obaned ! >> #define isned != >> #define is = Dat geit sogoor ob platt: > #define un & > #define logenun && > #define odder | > #define logenodder || > #define isnümmer ! > #define wardnich != > #define ward = Moin.
Paul Baumann schrieb: > Du hast ja den Schlüsselworten eigene Namen als Ersetzung gegeben. Es > wunderte mich eben, daß der Kompiler da nicht hustet und spuckt. Die #define's werden erstmal nur als Wortersetzung eingebaut, danach erst macht der Compiler seinen Job. Das hat Vor- und Nachteile, 'nen Vorteil hast Du hier gesehen.
War mit den noch verbliebenen Stilelementen unzufrieden ;D
1 | #include <avr/io.h> |
2 | |
3 | #define und &
|
4 | #define alogischund &&
|
5 | #define oda |
|
6 | #define alogischoda ||
|
7 | #define obaned !
|
8 | #define isned !=
|
9 | #define is =
|
10 | #define wendmogst if(
|
11 | #define dannhoid )
|
12 | #define ofang {
|
13 | #define desend }
|
14 | #define dhauptsach main
|
15 | #define learad void
|
16 | typedef char akurzer; |
17 | typedef int alanger; |
18 | typedef long aganzlanger; |
19 | // ...
|
20 | |
21 | akurzer a; |
22 | alanger b; |
23 | alanger c; |
24 | aganzlanger d is 0; |
25 | |
26 | |
27 | alanger dhauptsach(learad) |
28 | |
29 | ofang
|
30 | a is obaned(PORTA); |
31 | b is 96; |
32 | |
33 | c is b oda a; |
34 | wendmogst (c isned 96) dannhoid |
35 | ofang
|
36 | d is 2E6; |
37 | desend
|
38 | desend
|
Des gfreit mi gscheit, tat i doch soagn! (Wenn ich aus Bayern käme) Das ist doch ein richtig gut verständlicher Quelltext! :-))) Freut sich Paul
MWS schrieb: > War mit den noch verbliebenen Stilelementen unzufrieden ;D Ich bin mir sicher, das das ein ganz heißer Anwärter für den Bayerischen Kulturpreis ist.
Bascom ist wirklich gut! Die Basic Syntax ist auch nicht viel anders als die von C. Schämt ihr euch nicht für den "Print" Befehl ihr C Freaks? "If" ist auch nicht viel besser. Basic hat halt noch das "then". Naja, damit kann man leben. Keil C brauchte für den "print" Befehl immer schon 2 Mikrocontroller, weil es so efektiv ist ;-) Und viele komplizierte Verschachtelungen, die in C möglich sind, verhindert Basic Gott sei Dank. Diese kann eh niemand mehr deuten nach einem Jahr. Hole mir jetzt noch etwas Popcorn und genieße den Treat. Schönen Samstag
Das mit der Syntax ist alles sehr subjektiv. Meine erste 'richtige' Programmiersprache (nach BASIC auf nem Taschenrechner) war javascript. Daher ist für mich die C-Syntax das selbstverständlichste der Welt.
Karl schrieb: > Ich bin mir sicher, das das ein ganz heißer Anwärter für den Bayerischen > Kulturpreis ist. Stell Dir mal vor, die Bayerische Staatsregierung würde Ihre Verwaltungssoftware mit einer solchen Programmiersprache erstellen. Nachdem sie bereits die göttlichen Befehle vom Engel Aloisius http://de.wikipedia.org/wiki/Ein_M%C3%BCnchner_im_Himmel erhalten haben, könnt' ja dann fast nichts mehr schief gehen. Einzig vor Piraten müssten sie sich in acht nehmen.
Vergleichen wir doch mal nicht Gemüse(C) mit Obst(Basic), sonder Obst mit Obst. Im Sinne des TO vergleiche ich die neue Konkurrenz(luna) mit dem Alten(bascom): Was mich ewig gestört hat sind fehlende Strukturen, das Gefrickel mit overlay ist an Unübersichtlichkeit nicht zu übertreffen. Ausdrücke aufzudröseln und dafür sinnlose Zwischenvariablen anlegen zu müssen ist weit ab von jeglicher Effizienz und Übersichtlichkeit. Kapselung von Codeabschnitten in einem getrennten Namensraum sind auch nicht möglich, ein einziges Gematsche wenn man Module in der Sprache selbst erstellen will. Eigene Datentypen definieren nicht möglich, Bitmanipulationen in Ausdrücken sind ein Krampf oder nicht machbar, der Editor der IDE ist grauselig. Codeblöcke ein/ausklappen? automatische Einrückung? Verbindungspfade zwischen den Konditionen? Übersicht über die Speicherverteilung durch einen grafischen Report? Fehlanzeige.. usw. usf. Man kann sagen: Konkurrenz belebt das Geschäfft. Das neue Basicartige Dingens ist da wesentlich moderner und macht das alles was ich mir gewünscht habe. Vielleicht tut sich dann auch mal was an dem altbackenen Bascom. Zu wünschen wäre es den Anwendern. Harald
Timm Thaler schrieb: > Geht das wirklich: >> #define isnümmer ! > Mit Umlaut? Ja. Aber nur in einigen Teilen Schleswig Holsteins. Woanders muß man das mit ue schreiben. mfg.
Wem das "GOTO" in Basic nicht gefällt, der kann ja INTERCAL nehmen, dort hat man dann das Gegenstück "COME FROM": http://en.wikipedia.org/wiki/INTERCAL Wemm die vielen Sonderzeichen in C ein Graus sind, für den wird WHITESPACE bestimmt das richtige sein: http://en.wikipedia.org/wiki/Whitespace_(programming_language) Wem beides nicht gefällt, weil er lieber mit Katzen spielt, für den gibt es LOLCODE: http://en.wikipedia.org/wiki/Lolcode Und ansonsten: Immer locker bleiben. Soll doch jeder benutzen was er mag, dafür gibt es ja die Vielfalt an (Hoch-)Sprachen. BASIC hat sicher viele dazu gebracht sich intensiver mit Computertechnmik zu beschäftigen, war es doch in fast jedem Heimcomputer damals fest eingebaut (selbst der IBM PC hatte ein eingebautes BASIC). Borland hat dann PASCAL recht weit verbreitet, war seinerzeit auch eine recht beliebte Sprache. C ist halt die "Wald und Wiesen Sprache", mit der man fast überall etwas anfangen kann. Grüße, Chris
Christian Klippel schrieb
> .. von INTERCAL
Naja. Die ganzen sog. "Esoterischen Programmiersprachen" sind doch eher
ein Selbstzweck, als dass sie der Lösung von (Programmier-) Problemen
dienen.
Im genannten Beispiel schaffen es die Macher tatsächlich ein Hello World
so ausschauen zu lassen:
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP
Dagegen ist doch C ein geradezu wunderbar kurzer, aussagekräftiger
Dialekt mit eigener (Klammer-) Ästhetik
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0;
}
Dort wo ein (ansich einst schönes) Turbo Pascal in all seiner (doch
zuweilen nervenden) Geschwätzigkeit mit ständigen begin/end Sequenzen
aufwartet
program HalloWelt;
begin
WriteLn('Hallo Welt!');
end.
Wie schön kann da doch so ein simples Klammernpaar sein. ;)
Gelegenheitsprogrammierer schrieb: > Christian Klippel schrieb >> .. von INTERCAL > > Naja. Die ganzen sog. "Esoterischen Programmiersprachen" sind doch eher > ein Selbstzweck, als dass sie der Lösung von (Programmier-) Problemen > dienen. > > Im genannten Beispiel schaffen es die Macher tatsächlich ein Hello World > so ausschauen zu lassen: > [...] Das passiert halt wenn man 1) die WP Artikel nicht gelesen hat und 2) einfach zu verkrampft ist um den gemachten Punkt zu begreifen ;) Manch einer würde es "Beißreflex" nennen ... Grüße, Chris
Christian Klippel schrieb: > Das passiert halt wenn man 1) die WP Artikel nicht gelesen hat Wozu auch! Steht doch nix drin was mir irgendwie C abspenstig machen könnte. Nix als überflüssiges Gedöns. > und 2) > einfach zu verkrampft ist um den gemachten Punkt zu begreifen ;) > Manch einer würde es "Beißreflex" nennen ... Ach Gottchen, da reagiert aber einer angepinkelt. Einfach mal ruhiger werden hilft!
Gelegenheitsprogrammierer schrieb: Was ist daran jetzt ästhetisch? > #include <stdio.h> > > int main() > { > printf("Hello, world!\n"); > return 0; > } DAS ist ästhetisch:
1 | If OpenConsole() |
2 | PrintN("Hallo Welt") |
3 | Input() |
4 | EndIf |
In Quickbasic dürfte das noch einfacher gehen, ist lange her:
1 | PrintN("Hallo Welt") |
2 | Input() |
Hi, Gelegenheitsprogrammierer schrieb: > Christian Klippel schrieb: >> Das passiert halt wenn man 1) die WP Artikel nicht gelesen hat > Wozu auch! Steht doch nix drin was mir irgendwie C abspenstig machen > könnte. Nix als überflüssiges Gedöns. Da muss ich dem Christian aber zustimmen. Zumal ich denke das er darauf hinaus wollte: Wikipedia schrieb im Artikel zu Intercal: > INTERCAL is an esoteric programming language that was created as a *PARODY* >... > It SATIRIZISES satirizes aspects of the various programming languages > at the time,[1] as well as the proliferation of proposed language > constructs and notations in the 1960s. Und auch: Wikipedia schrieb im Artikel zu esoteric programming language: > An esoteric programming language is a programming language designed as a > [...], or as a joke. > There is usually no intention of the language being adopted for > mainstream programming Sich darüber aufzuregen das eine ausdrücklich als Parody gedachte Sprache zu umständlich ist und auf den Hinweis die Anmerkungen zur Sprache die man kritisiert zu lesen (um damit festzustellen das es nur ein Scherz ist) mit der Argumentation zu entgegnen das C eh besser ist, das ist schon ein wenig... NAJA! Aber BTT: Grundsätzlich ist ja schon alles gesagt, nur nicht von jedem. Letzten Endes ist es doch egal wie jemand zum Ziel kommt, hauptsache er kommt zum Ziel. Allerdings ist es auch eine Unumstößliche Tatsache das man wann immer man plant sich mit µC Programmierung beruflich beschäftigen zu müssen um C nicht drumherum kommt. Die Strukturunterschiede zwischen einem BASIC Dialekt und C finde ich absolut nebensächlich. Man kann mit beidem Arbeiten. Gewisse Dinge in den Sprachen haben ihre Vorteile, aber auch ihre Nachteile. Und es liegt am jeweiligen Programmierkonzept was jetzt wirklich für diese Anwendung und diesen Programmierer effizienter ist. Daher ist es genau genommen müßig über solche Dinge zu diskutieren. Zumal es den allermeisten die BASCOM so toll finden wohl überhaupt nicht um die Struktuir geht sondern die wohl wann immer sie es loben die Umfangreichen Libs meinen. Mit C würden die genauso zufrieden sein wenn die dort diese LIB unterstützung hätten. Diese LIB Unterstüzung ist natürlich gerade für Anfänger ein gewichtiges Argument, allerdings sollte man wann immer jemand Fragt mit welcher Programmiersprache er nun einsteigen soll und er überhaupt keine Vorkenntnisse hat bedenken das BASCOM zwar im ersten Schritt einfacher ist, aber dies auf lange Sicht eine Sackgasse ist. Zumindest wenn er beruflich in die Richtung will und/oder er mehr als nur AVR Programmieren möchte. Dann muss er C trotzdem auch noch zusätzlich lernen. Lernt also doppelt. Dann kann man für Einsteiger mit gutem Recht also gleich C empfehlen. ISt am Anfang etwas steiniger, sobald man sich aber einmal damit beschäftigt wird es schnell klarer. Zudem bringt C den Vorteil das man erst einmal in Ruhe auf dem PC lernen kann und dann erst auf den µC wechselt. Daher ist meine Meinung: Wer mit Bascom gut zurecht kommt und für wen es ausreicht soll ruhig dabei bleiben. Es gibt dann ,zumindest zum aktuellen Zeitpunkt, keinen Grund umsteigen zu müssen. Aber wenn jemand neu in die Materie einsteigt ist die Wahl von Bascom einfach nur kurzsichtig das der EInstieg zwar etwas leichter ist, aber man im Endeffekt doppelten Lernaufwand hat. AchJa: Marwin schrieb: > Helmut Lenzen schrieb: >> Weil jemand anderes fuer dich die Arbeit getan hat. Wenn du eine fertige >> Lib fuer den Prozessor hast ist das auch in C in 5 Minuten erledigt. > > Das ist das alte Problem von C/C++, auch zum Beispiel gegenueber Java. > Es gibt oft nicht "eine Bibliothek", die man einbinden koennte - sondern > meist entweder keine, oder ein Dutzend von denen sich keine mit den > anderen vertraegt, die man schon hat. Das liegt aber nicht an der > Sprache - eher an einer Mischung aus der historischen Entwicklung und > der Klientel, die diese Sprache benutzt. Karl Heinz Buchegger schrieb: > Hier werden doch Äpfel mit Birnen verglichen. > Was ist denn das Tolle an BASCOM? Doch nicht die Sprache an sich. > [...] > Nein, das Tolle an BASCOM ist, dass es die Hardware der AVR (und nicht > nur die) in weitgehend abstrahierter Form als Sprachkonstrukt zur > Verfügung stellt. [...] Das alles hat den Vorteil, dass sich Neulinge > erst mal um viele Dinge nicht kümmern müssen. > Aber: Das ist kein Vor- oder Nachteil für C. Wenn es gelingen würde, > eine Standard-'Lib' zusammenzustellen, in der ebenfalls für die > häufigsten Anwendungsfälle fertige Codemodule zur Verfügung stehen, dann > ist man mit C genauso schnell wie mit BASCOM, was das Hochziehen einer > App angeht. > > Das wir diese Codemodule nicht haben hat keine technischen Gründe > sondern ist ein Politikum. 30 oder 40 Programmierer kriegst du nun mal > nicht unter einen Hut ohne dass es zu Kompetenzgerangel kommt, weil > jeder seine Lösung als die bessere ansieht, die allen anderen überlegen > ist. (Und wie man an BASCOM sieht, ist es gar nicht sooo wichtig, immer > die allerbeste Lösung zu haben. EINE Lösung die zuverlässig ist, würde > schon reichen) > > Da hat es BASCOM ein wenig leichter. Die gibt es 1 Firma und die macht > die Vorgabe. GEnau das ist der Grund warum ich so gerne mit Microchip PIC arbeite. Da gibt es nämlich für viele Dinge genau das was viele an Bascom so toll finden auch für C. Klar als LIB nicht ganz so einfach, man muss es einbinden usw. Aber dann hat man auch hier einfache Befehle die man ganz normal aufrufen kann ohne sich um weitere Dinge zu kümmern. Und das alles schon im Paket das mit dem Compilerdownload kommt oder als nachladbares Framework zum Download. Routinen für das ansprechen der Prozessoperipherie, aber auch für HD44700 LCD, externe CAN Bausteine oder externe EEPROM Bausteine, gehören genauso zum Sprachumfang wie Rotinen für SOFT SPI, SOFTI2C usw. für Bausteine die keine passende Peripherie haben oder wo man mehr funktionen Braucht. Alles im Anhang der Compileranleitung und der Hilfe beschrieben. http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_C18_Libraries_51297f.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20C32%20Libraries.pdf Oder für komplexere Dinge dann das jeweilige Framework: USB, TCPIP, MemoryDiskDrive, SmartCard, Touch, MiWi und sogar eine für Android Zusatgeräte. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en547784 Alles Zentral von einer Stelle, das heisst Koordiniert und man braucht nicht suchen. Es passt zueinander und zu allen gängigen µC der Firma. Bei Problemen hat man einen Ansprechpartner. Alles ist gut dokumentiert und wird geflegt. Weitere Quellen aus der Feder von Autoren die nichts mit dem Hersteller zu tun haben gibt es natürlich oft auch, deren Verwendung ist aber rein Optional. Gruß Carsten
Hallo Carsten, Carsten Sch. schrieb: > Hi, > > Gelegenheitsprogrammierer schrieb: >> Christian Klippel schrieb: >>> Das passiert halt wenn man 1) die WP Artikel nicht gelesen hat >> Wozu auch! Steht doch nix drin was mir irgendwie C abspenstig machen >> könnte. Nix als überflüssiges Gedöns. > > Da muss ich dem Christian aber zustimmen. Zumal ich denke das er darauf > hinaus wollte: > > Wikipedia schrieb im Artikel zu Intercal: >> INTERCAL is an esoteric programming language that was created as a *PARODY* >>... >> It SATIRIZISES satirizes aspects of the various programming languages >> at the time,[1] as well as the proliferation of proposed language >> constructs and notations in the 1960s. > > Und auch: > Wikipedia schrieb im Artikel zu esoteric programming language: >> An esoteric programming language is a programming language designed as a >> [...], or as a joke. >> There is usually no intention of the language being adopted for >> mainstream programming > > Sich darüber aufzuregen das eine ausdrücklich als Parody gedachte > Sprache > zu umständlich ist und auf den Hinweis die Anmerkungen zur Sprache die > man kritisiert zu lesen (um damit festzustellen das es nur ein Scherz > ist) mit der Argumentation zu entgegnen das C eh besser ist, das ist > schon ein wenig... NAJA! ganz genau, 100% Volltreffer ;) Die ganze Diskussion ob C oder Bascom ist doch genauso überflüssig wie die leidige Diskussion ob PIC oder AVR. Beides ist jeweils nicht das Ende der Fahnenstange. Wer glaubt man könne oder solle nur zwischen den beiden Optionen wählen der ignoriert die ganze Vielfalt die es gibt. Es hat eben alles seine Vor- und Nachteile. Wenn man sich das selber eingesteht stellen sich diese Fragen eigentlich auch gar nicht mehr. Verbissen nur auf einer Schiene zu reiten, das bringt niemanden voran. Letzten Endes zählt die Funktion des fertigen Projekts/Produkts. Wenn ich Aufträge machen, dann muss ich mich halt zum Großteil danach richten was der Kunde verlangt. Ich kann zwar Vorschläge machen, aber wenn der nicht will, dann will er nicht. Für mich privat kann ich immer selber entscheiden was ich benutzen möchte. Bei mir ist das halt immer C und meistens PIC. Mir ist halt die Portierbarkeit wichtig. Nicht nur bzgl. des µC, sondern auch die der Entwicklungsumgebung. Einen C-Compiler bekommt man so gut wie für jeden Chip auf so gut wie jedem Rechner ans laufen, das ist halt der große Vorteil wenn man auf sowas Wert legt. Es gibt halt immer mehr als zwei Auswahlmöglichkeiten.... Grüße, Chris
Ein großer Nachteil sowohl von Bascom als auch C für Anfänger ist, dass die Abstraktionsebene schon so hoch ist. Man kommt zwar schnell zum Ziel, mit Bascom vlt am schnellsten, aber gerade Anfängern ist überhaupt nicht klar, was da im Controller abläuft. Und dann kommen so Sachen wie speicher- und zeitfressende Float-Operationen heraus, wo es ein paar Feststellen-Bytes auch getan hätten. Oder ewig lange Stringausgaben. Dann muss plötzlich der nächstgrößere Controller her, weil der Speicher nicht reicht, obwohl nur paar Temperaturen gemessen und auf ein Display ausgegeben werden...
Ich formuliere meine Zustimmung zu Timm Thaler mal so: Ich habe mal vor langer Zeit einen Beitrag über eine Chinesische Fahrschule gesehen. Das war staatlich organisiert, in Uniform im Laufschritt zu den Fahrzeugen und so. Auf mich Europäer machte das einen grotesk-lustigen Eindruck, aber was interessant war, war daß die Jungs jede Schraube an dem Fahrzeug kennen mussten, bevor sie das erste mal fahren durften. Unabhängig davon, ob die Medien hier mal wieder etwas übertrieben oder verzerrt haben: Je mehr eine Programmiersprache (oder eine Lib) die Hardware abstrahiert, desto weiter kommt man davon weg, die Schrauben seines µC zu kennen und umso leichter sitzt man in der Sch..., wenn mal etwas nicht klappt. Womit ein µC-Anfänger konfrontiert wird, entspricht einem selbstfahrendem Auto (immerhin mit Option auf manuelle Steuerung). Man gibt das Ziel ein, und es fährt. Wenn es das Ziel nicht kennt, und man nicht selber fahren oder mit Karten umgehen kann, hat man halt Pech gehabt.
Timm Thaler schrieb: > Ein großer Nachteil sowohl von Bascom als auch C für Anfänger ist, dass > die Abstraktionsebene schon so hoch ist. Man kommt zwar schnell zum > Ziel, mit Bascom vlt am schnellsten, aber gerade Anfängern ist überhaupt > nicht klar, was da im Controller abläuft. Naja, das kann man so oder so sehen. Natürlich wird durch die verfügbaren Bibliotheken alles einfacher gemacht für den Anwender, oder sollte es zumindest. Aber will man einem Anfänger wirklich zumuten "ganz unten" einzusteigen? Gerade am Anfang ist man doch froh wenn es schnelle Erfolgserlebnisse gibt. Das fördert das Interresse an der Materie und motiviert einen weiter zu machen. Natürlich sollte man sich dann nicht darauf ausruhen, sondern auch wirklich bereit sein tiefer in die Materie einzusteigen. Ich denke das ist das eigentliche Problem. Die Gefahr der Faulheit anheim zu fallen. "Geht ja, was soll ich da noch weitermachen" ... > Und dann kommen so Sachen wie speicher- und zeitfressende > Float-Operationen heraus, wo es ein paar Feststellen-Bytes auch getan > hätten. Oder ewig lange Stringausgaben. Dann muss plötzlich der > nächstgrößere Controller her, weil der Speicher nicht reicht, obwohl nur > paar Temperaturen gemessen und auf ein Display ausgegeben werden... Ja, aber ist da nicht auch ein wenig Schuld bei "uns" zu suchen? Also bei denen, die schon länger drinstecken und den Anfängern zur Seite stehen? Wie oft hört man "Ach, dann nimm doch X und fertig". Es wird erklärt wie man nun die printf() auf dem µC anpassen muss damit das gewünschte ausgegeben wird. Aber sehr selten sieht man "Hey, das brauchts doch nicht. Das kannst Du viel sparsamer so und so machen". Klar, bei ersterem hat man es schneller erklärt, weil es ja Standard ist. Letzteres müsste man dann mit mehr Aufwand und Geduld vermitteln. Grüße, Chris
Manches ist nur noch zum Kopf schütteln. Hier wird geklönt ob C besser ist als Bascom usw. Anstatt was ähnliches wie Open Office zu machen, also entweder dem Bascomentwickler oder Lunaentwickler unter die Arme zu reifen, wird hier gelästert, gestritten, über Obst und gemüse diskutiert. Schon mal überlegt wieviele Ein-Mann-Stunden ein Entwickler braucht um etwas bestehendes sinnvoll zu verbesser oder zu erweitern? 30 Mann-Stunden zusätzlich werden nicht angeboten, es sei denn man verdient mit daran. Muss etwas offene Software sein, damit sich jemand der könnte daran beteiligt? Habt ihr dem Ersteller von Bascom schon mal Beteiligungsangebote gemacht, anstatt hier rum zu klönen? oder kommt jetzt die Antwort, Bascom braucht eh niemand, es gibt ja C?
Starkstromer schrieb: > Manches ist nur noch zum Kopf schütteln. Hier wird geklönt ob C besser > ist als Bascom usw. Anstatt was ähnliches wie Open Office zu machen, > also entweder dem Bascomentwickler oder Lunaentwickler unter die Arme zu > reifen, wird hier gelästert, gestritten, über Obst und gemüse > diskutiert. > > Schon mal überlegt wieviele Ein-Mann-Stunden ein Entwickler braucht um > etwas bestehendes sinnvoll zu verbesser oder zu erweitern? 30 > Mann-Stunden zusätzlich werden nicht angeboten, es sei denn man verdient > mit daran. > > Muss etwas offene Software sein, damit sich jemand der könnte daran > beteiligt? Habt ihr dem Ersteller von Bascom schon mal > Beteiligungsangebote gemacht, anstatt hier rum zu klönen? oder kommt > jetzt die Antwort, Bascom braucht eh niemand, es gibt ja C? Hä, wat willst du?
Starkstromer schrieb: > oder kommt jetzt die Antwort, Bascom braucht eh niemand, es gibt ja C? Genau :-) Oder anders gesagt, warum sollte ich Opel helfen ein besseres Auto zu bauen an dem dann GM in USA verdienen würde wenn ich doch schon einen BMW fahre?
Klaus schrieb: > Hä, wat willst du? Gute Frage, genau das dachte ich beim lesen auch. Was will er uns sagen?
Beteiligt Euch an der Weiterentwicklung von Bascom oder von Luna. Bascom ist zwar kein Open Source, aber beteiligen wird sich mancher von Euch wohl können. Oder an Luna.
Hi Früher hat jeder Grafiker, der meinte etwas auf sich halten zu müssen, eine neue Schriftart erfunden. Hat zwar niemand wirklich gebraucht. Aber das war egal. Heute scheint es mit Programmiersprachen genauso zu sein. MfG Spess
Starkstromer schrieb: > aber beteiligen wird sich mancher von Euch wohl können. Oder an Luna. Warum sollte ich? Warum sollte ich meine Lebenszeit dafür aufwenden ein Produkt weiterzuentwickeln das: ich nicht brauche mir nicht besonders gefällt mit dem andere geld verdienen ... to be continued Gegenfrage: Wenn du Basic programmieren willst warum kaufst du es dann nicht und erweist den Entwicklern dieses Basics damit deinen Respekt und sorgst damit für Geld in der Kasse für eine Weiterentwicklung?
spess53 schrieb: > Früher hat jeder Grafiker, der meinte etwas auf sich halten zu müssen, > eine neue Schriftart erfunden. Hat zwar niemand wirklich gebraucht. Aber > das war egal. > > Heute scheint es mit Programmiersprachen genauso zu sein. Dafuer gibt es seit Jahrzehnten schon Lex und Yacc. http://de.wikipedia.org/wiki/Yacc Da kann jeder seine eigene Programmierprache mit erstellen. Ob die einer braucht ist fraglich.
Geht es immer nur um diese Fragen, warum ich, was habe ich davon, bringt mir das was usw? Übrigens, ich habe Bascom vor Jahren bereits gekauft. Benutze es hobbymäßig und für mich relativiert sich der Aufwand, eine kompliziertere Sprache wie C lernen zu müssen für die wenigen Projekte die ich mit Bascom bequem erledigen kann. Luna werde ich ausprobieren. Steckt noch in den Kinderschuhen und bräuchte Unterstützung von Profis, also beteiligt Euch.
Starkstromer schrieb: > Steckt noch in den Kinderschuhen und > bräuchte Unterstützung von Profis, also beteiligt Euch. Profis nehmen 'C' C-Compiler gibt es fuer jeden Prozessor.
Hi, Starkstromer schrieb: > Geht es immer nur um diese Fragen, warum ich, was habe ich davon, bringt > mir das was usw? In gewisser Weise JA. ZUmindest muss man einen Sinn hinter seiner Tätigkeit erkennen. Der kann natürlich auch ideell oder Gemeinnützig sein und muss nichts mit seinem persöhnlichen Vorteil zu tun haben. Aber einen für mich selbst erkennbaren Sinn sollte es schon haben. Und für jemanden der findet das BASCOM (oder was auch immer) im vErgleich zu C (als Beispiel) für ihn überhaupt keine Alternative ist weil C schon überwiegend das bietet was er möchte, da ist es völlig unsinnig von so jemanden zu verlangen er solle doch mithelfen BASCOM zu verbessern. Wenn - dann könnte man ihm höchstens Vorschlagen in der C Welt aktiv zu werden und da etwas mehr zu machen. Wenn jemand z.B. ständig darüber JAmmern würde das der GCC den er erinsetzt dieses und jenens nicht bietet und die Programmierer das nicht einbauen wollen -> DANN währe es eine logische Konsequenz ihm nahezulegen doch selbst daran zu arbeiten. Alles andere aber ist genauso Sinnvoll wie wenn du von einem überzeugten IBM kompatiblen PC benutzer verlangst er solle gefälligst APPLE bei der Entwicklung helfen, gerade WEIL er schon keinen Apple benutzen will da er IBM Kompatible besser geeignet für seine ZWecke findet. Gruß Carsten
@Starkstromer ich bräuchte (falsch brauchen tu ichs nicht aber ich will mein eigenes nicht ausgeben) ein bischen finanzielle Unterstützung. nach deiner Logik müsstest du jetzt in die Bresche springen und mir mal ein paar (Hundert) Euro überweisen. Kostst dich sogar weniger Zeit als wenn ich anfange Luna weiterzuentwickeln, und du hast dich an mir verdient gemacht, weil ich muss jetzt nicht zu meinem Bankautomaten (Analog zu C lernen) p.s. Lass deine Kohle stecken
Udo Schmitt schrieb: > falsch brauchen tu ichs nicht aber ich will mein eigenes nicht ausgeben Kannst meins ausgeben. Schliesslich: > Geht es mir nicht um diese Fragen, warum ich, was habe ich davon, bringt > mir das was usw? Und dann kriegst du noch eine schicke neue Programmiersprache. mfg.
Helmut Lenzen schrieb: > Profis nehmen 'C' "Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur"
MWS schrieb: > "Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur" ROFL falsch die Titanic wurde von Iren in Belfast für Engländer gebaut. Wie nachhaltig die Iren wirtschaften sieht man ja an ihrer derzeitigen Situation, die wurde uns hier vor 5-8 Jahren noch als mustergültig verkauft als Deutschland in der EU angeblich das Wachstumsschlusslicht war.
Bla Bla Bla Sowie es VW, Opel, Nissan usw gibt, muss es auch Basic, C und was weis ich noch alles geben. seit doch Froh. so ist für alle was dabei. Drauf geschissen welches besser ist.....
Carsten Sch. schrieb: > Wenn - dann könnte man ihm höchstens Vorschlagen in der C Welt aktiv zu > werden und da etwas mehr zu machen. Wenn jemand z.B. ständig darüber > Jammern würde das der GCC den er erinsetzt dieses und jenens nicht > bietet und die Programmierer das nicht einbauen wollen -> DANN währe es > eine logische Konsequenz ihm nahezulegen doch selbst daran zu arbeiten. Nein, waere es nicht, denn das ist nicht mein Job. Der gcc ist, wie viele "offene" Software, ein klassisches Danaergeschenk. Ich habe nicht darum gebeten, damit beglueckt zu werden. Ich war zufrieden damit, meinen Compiler kaufen zu muessen. Das System hat funktioniert, es hat mich ein wenig Geld gekostet, die Compilerentwickler haben gutes Geld verdient und die Weiterentwicklung war gesichert. Heute hat der gcc die meisten anderen Compiler verdraengt, viele Hersteller gibt es nicht mehr. Fuer eine minimale Ersparnis pro Nutzer wurde der groesste Teil eines Marktes und einer Branche vernichtet. Ich habe heute nicht mehr die Auswahl, ich habe die Macht, durch meine Produktentscheidung als Kunde den Markt zu beeinflussen, verloren. Stattdessen muss ich das Einheitsprodukt verwenden, weil es keine Alternative mehr gibt. Und bei Kritik bekomme ich noch vorgeworfen, ich solle mich doch bitte an der Entwicklung, von der ich angeblich profitiere, beteiligen, statt zu meckern. Auch wer ein Geschenk macht, hat dafuer eine Verantwortung und nur weil etwas gratis ist, ist es nicht automatisch ein Nutzen fuer die Gemeinschaft.
Marwin schrieb: > Stattdessen muss ich das > Einheitsprodukt verwenden, weil es keine Alternative mehr gibt. GCC hat sich halt durchgesetzt. Die Compiler, die heute nicht mehr am Markt sind, sind einfach schlechter gewesen.
> Stattdessen muss ich das > Einheitsprodukt verwenden, weil es keine Alternative mehr gibt. LLVM ist doch grad im Aufwärtstrend...
Marwin schrieb: > Ich habe heute nicht mehr > die Auswahl, ich habe die Macht, durch meine Produktentscheidung als > Kunde den Markt zu beeinflussen, verloren. Andersrum wird aber auch ein Schuh daraus. Ich habe mal einen Fehler an MS gepostet. Bei einer C Api funktion fwrite oder fread gabs bei Dateien > 2 GByte und einer bestimmten Puffergröße das Problem, das es einen Versatz gab. Wir konnten es hier mit eineigem Aufwand nachweisen und an MS schicken. Antwort: Fehler ja, patch nein, es wird empfohlen statt dessen die WIN32 API zu benutzen. Supertoll wenn das in einem Projekt mit ca 1000 Sourcedateien passiert und das für die Betriebssysteme Windows32, Windows 16 Bit, OS/2, Linux, AIX, Sun Solaris, IBM Host, BS2000 und AS400 geschrieben wurde. Bei Open Source hast du dann zumindest die Chance selbst was an dem Fehler zu ändern!
Udo Schmitt schrieb: > Bei Open Source hast du dann zumindest die Chance selbst was an dem > Fehler zu ändern! Bei Open Source kann dein Patch genauso abgelehnt werden. Und dann? Ein fork? Kaum realistisch, da ist es billiger, einen Workaround in die eigene File-Klasse zu machen. Dafuer muss man im Uebrigen auch nicht 1000 Files anfassen, sondern Eines...
Marwin schrieb: > Bei Open Source kann dein Patch genauso abgelehnt werden. Und dann? Dann haste immer noch den Patch und bist zurfrieden.
Marwin schrieb: > sondern Eines... Klar weil eine Funktion wie fread() nur in einer Source datei eines heterogenen und seit 15 Jahren gewachenen Systems ist. Statt dessen mussten wir einen betriebssystemspezifischen Abstaktionslayer dazwischen setzen. Die Crux hast du nicht verstanden: Du hast KEINE Macht dem Hersteller gegenüber, egal ob es MS, IBM oder eine Community für ein open source projekt ist. Nur bei dem kommerziellen zahlst du!
smufte schrieb: > Sowie es VW, Opel, Nissan usw gibt, muss es auch Basic, C und was weis > ich noch alles geben. seit doch Froh. so ist für alle was dabei. Drauf > geschissen welches besser ist..... Grundsätzlich richtig, jedoch Wen interessiert was besser ist? Besser ist das, was der Einzelne persönlich für sich selbst praktisch und verwendbar hält. Ich allein entscheide darüber was ich besser finde und was nicht. Aus einem gewissen Lager liest man im gesamten Forum: Alles Andere ist scheiße, gehört in den Kindergarten, benutzen nur Menschen die verblödet sind, ist was für Kinder, will keiner, kacke, unfug, sinnlos, braucht man nicht... Erinnert mich an "Mercedes (C) ist das Beste, alles Andere ist scheiße", da steige ich doch glatt in meinen BMW (Luna) und habe Freude am fahren..;)
Hiermit möchte ich mich bei allen bedanken, die sich an diesem Thread beteiligt haben. Hätte ich ahnen können, wie lustig (und stellenweise interessant) so manche Beiträge sind, hätte ich mir, wie Lueger, auch Popcorn besorgt, um mir die etwa fünf Stunden des Lesen noch etwas zu versüßen. Ich bin während des Lesens ernsthaft ins Grübeln gekommen, ob ich, als professioneller E-Techniker und Hobbyprogrammierer, ein Sozioligie-Studium anfangen soll. Diesen Thread taugt auf jeden Fall für meine eventuelle Promotion!!! In diesem Sinne... Engstirnigkeit rules ;-)
Marwin schrieb: >> Stattdessen muss ich das >> Einheitsprodukt verwenden, weil es keine Alternative mehr gibt. > GCC hat sich halt durchgesetzt. Die Compiler, die heute nicht mehr am > Markt sind, sind einfach schlechter gewesen. Danke für die Erklärung! Deswegen hat sich Microsoft am Desktop Markt durchgesetzt. Die Konkurrenzprodukte "BuBuBuntu-Lunax" und wie sie alle heißen "sind halt einfach schlechter" (gewesen). ;-)
Visual C schrieb: > Danke für die Erklärung! Deswegen hat sich Microsoft am Desktop Markt > durchgesetzt. Die Konkurrenzprodukte "BuBuBuntu-Lunax" und wie sie alle > heißen "sind halt einfach schlechter" (gewesen). Ja das ist leider genau so.
...aka "Vielen Dank an alle" (Hatte mein Passwort gerade nicht zur Hand) @ wire: Habe eigendlich irgendwas bezüglich Bascom gesucht. Das mit dem Soziologie-Studium meinte ich auch nur ironisch. Aber es fasziniert mich jedes mal aufs Neue wie einige Mitmenschen, hier und in vielen anderen Foren, die Regeln des Miteinanders und der fachlichen Diskussion regelmäßig vergessen oder möglicherweise nie gelernt haben. Besonders gefallen mir Aussagen wie "Bascom ist Scheiße!!!" ohne jegliche Begründung, mal davon abgesehen, dass sich diese Leute wahrscheinlich nie mit besagtem Compiler auseinandergesetzt haben. Ich frage mich dann immer, ob diese Leute mit solch überaus qualifizierten Aussagen erreichen wollen: Vieleicht müssen sie ja ihren Beitrags-Zähler hochdrücken um ihr Mangelndes Selbstwertgefühl zu kompensieren, oder glauben jene tatsächlich jemanden überzeugen zu können? Da lobe ich mir doch eingefleischte C-ler, die ganz offen und nicht so vorurteilsbehaftet wie die scheinbare Mehrheit an Bascom herangehen. Bei vielen habe ich das Gefühl, dass sie sich für was Besseres halten weil sie C können, ohne sich auch nur ansatzweise mit den Schwächen von C auseinandergesetzt haben. Ich bin vorgestern, aufgrund eines Beitrages hier im Thread, auf eine Website aufmerksam geworden (http://www.henning-thielemann.de/CHater.html), auf der der Autor die besagten Schwächen von C auflistet. Ich muss zugeben, aufgrund mangelnder Erfahrung, nicht besonders viel davon verstanden zu haben, fand es aber dennoch SUPERINTERSSANT und habe mir vorgenommen mich in Zukunft noch viel intensiver mit der Sprache zu beschäftigen, um eines Tages ein so großer C-Hasser wie der Autor zu werden. Spaß beiseite: Ich benutze seit geschätzten 7 Jahren Bascom, habe damit meine ersten Programmiererfahrungen gesammelt (abgesehen von meinen ersten Basic-Gehversuchen auf dem C64) und konnte damit bis vor kurzem noch alle meiner (zugegeben relativ einfachen) Projekte, wie z.B. parametrierbare Temperaturregelungen für Reflow-Lötöfen und Platinen-Ätzanagen und -Laminatoren, LED-Cubes, Störmeldeanzeigen für meine DIY-CNC-Fräse, Master-Slave-Steckdosen etc. zu meiner vollen Zufriedenheit umsetzen. Ich habe dann vor etwa 2 Monaten angefangen, meine µCs in C zu programmieren, weil der Bascom-VUSB-Ersatz (SWUSB) doch zu wünschen übrig lässt (z.B. keine Interupts nutzbar, nicht besonders gut anpassbar, unerklärliche Verbindungsabbrüche) und hadere manchmal mit der doch leicht verwirrenden C-Syntax, aber das wird schon. Habe mir außerdem für die Zukunft vorgenommen, ein kleines TS3-Plugin (C++) für den Multimessenger Pidgin zu schreiben, dass mir anzeigt welcher meiner Kumpels gerade online ist. Aber auf Bascom werde ich auch in Zukunft, zumindest für einfache Projekte, nicht verzichten, da, wie oben im Thread erwähnt, die Zeit bis zum fertigen Programm meiner Meinung nach erheblich kürzer ist. Ich benutze ja auch keine hydropneumatische, lasergestützte, vollkompensierte und konfigurierbare Quantensäge um eine 3er Gewidestange zu Sägen, wo eine PUK-Säge auch reicht: Jeder Aufgabe das, meiner Meinung nach, passende Werkzeug. Lange Rede, kurzer Sinn: Vorurteile bringen keinen weiter und Offenheit schadet nie!!!
Andy W. schrieb: > (http://www.henning-thielemann.de/CHater.html er hat ja völlig recht. Trotzdem liebe ich C: Kurz, präzise und schnell. Ich komme aus der Maschinencode/Assembler-Ecke, dann habe ich eine Weile mit Pascal, Basic und dBASE gearbeitet und bin dann bei C gelandet und geblieben. Pascal ist ja ganz nett aber elend viel Tipparbeit (1 Seite Pascal gibt ca 2 Zeilen C). Nebenbei gibt es C für so gut wie alle Plattformen, das bietet keine andere Sprache. Die Handvoll Sprachelemente sind einfach aber wirkungsvoll. Und realisierbar ist einfach alles ;)
Joachim Drechsel schrieb: > Pascal ist ja ganz nett aber elend viel Tipparbeit (1 Seite Pascal > gibt ca 2 Zeilen C). Nebenbei gibt es C für so gut wie alle Plattformen, > das bietet keine andere Sprache. Die Handvoll Sprachelemente sind > einfach aber wirkungsvoll. Und realisierbar ist einfach alles ;) das ist aber ehrlicherweise auch ein Märchen Joachim. Pascal und Basic gibts auch für sämtliche denkbaren Plattformen mit nur wenigen Ausnahmen. Wie sich die Dialekte untereinander unterscheiden ist unerheblich, die Grundsyntax ist bei Beiden immer für den jeweiligen Programmierer im selben Sprachstamm. Die Implementationen z.Bsp. die einfache Variante wie bei Bascom oder eine leistungsfähigere objektorientierte Ausführung wie Luna ist hier ebenso vergleichbar wie Standard-C und C++. wire
In Anlehnung an den Threadbetreff möchte ich loswerden: C ist auch gut. Andy W. schrieb: > Ich bin vorgestern, aufgrund eines Beitrages > hier im Thread, auf eine Website aufmerksam geworden > (http://www.henning-thielemann.de/CHater.html), auf der der Autor die > besagten Schwächen von C auflistet. Vielen Dank für den Link. Ich werde meine Ansicht nochmal überdenken.
Andy W. schrieb:
> http://www.henning-thielemann.de/CHater.html
Interessanter Link. Sind alles korrekte Punkte.
Allerdings sind das meiste davon Dinge, die man machen kann, aber
nicht muss. Solange man nur mit seinem eigenen Code zu tun hat, kann man
schließlich Klammern eindeutig setzen, eindeutige Bezeichner verwenden
und unübersichtliche Zeigerkonstrukte usw. vermeiden. Man kann also
durchaus "schönen" C-Code schreiben.
Ärgerlich wird C erst, wenn man mit schlechtem Code von anderen Leuten
zu tun hat. Da bietet C (und noch viel mehr C++) zugebenermaßen jede
Menge Möglichkeiten, unverständliche, fehlerhafte und schlecht wartbare
Programme zu erzeugen. Davor ist man aber auch bei anderen
Programmiersprachen nicht automatisch geschützt. Letztlich ist es immer
noch der Programmierer selbst, der die Qualität des Codes entscheidet,
nicht die Sprache.
Fabian O. schrieb: > Andy W. schrieb: > Ärgerlich wird C erst, wenn man mit schlechtem Code von anderen Leuten > zu tun hat. Da bietet C (und noch viel mehr C++) zugebenermaßen jede > Menge Möglichkeiten, unverständliche, fehlerhafte und schlecht wartbare > Programme zu erzeugen. Davor ist man aber auch bei anderen > Programmiersprachen nicht automatisch geschützt. Letztlich ist es immer > noch der Programmierer selbst, der die Qualität des Codes entscheidet, > nicht die Sprache. Aus meiner Sicht eine völlig falsche Schlussfolgerung. Aus deiner Aussage lese ich, dass du die beschriebenen Sprachmängel nicht erkannt hast. Das ist doch genau der Punkt, bei anderen Programmiersprachen KANN das nicht passieren, beispielsweise bei Modula. Denn die Sprache ist dahingehend konsistent und lässt derartige Schwächen nicht zu. wire
Basic war als Kind für den C64. Im Studium lernt man dann was richtiges. C und C++. Neuerdings fahren viele aber auch auf Java ab. Trotzdem bin ich eher geneigt mal was wie python zu probieren, auch wenn ich Whitespace-Chars als Syntax nicht sohne gute Idee finde .___. Aber Wikidpad ist geil und das ist in python geschrieben XD Python ist die bessere PERLe der Natur :) Aber wenn ich Java lernen würde könnte ich vielleicht dann irgendwann das allerbeste Minecraft-Addon proggen, das es je geben wird. Außerdem spiel ich mit shellscripts (#! /bin/sh) rum, obwohl ich die Syntax eigendlich nicht so viel hübscher als die von .bat finde. Aber mit sh kann man mehr mit anstellen :) Qt rockz
Pascal vom E-Lan kann ich hier auch dringend empfehlen, deutlich schneller als Bascom und auch ultraeinfach mit ner Menge fertiger Librarys/Units
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.