Fortran ?!!Bruno hat geschrieben:Naja, 12 jahre Fortran gegen 6 Wochen C... ist klar, wer da verliert))
parsen von ASCII Dateien
Re: parsen von ASCII Dateien
Unwissenheit ist ein Segen
- fat-lobyte
- Beiträge: 1398
- Registriert: Sa Jul 05, 2008 12:23 pm
- Wohnort: ::1
- Kontaktdaten:
Re: parsen von ASCII Dateien
Fortran verliert immerBruno hat geschrieben:Naja, 12 jahre Fortran gegen 6 Wochen C... ist klar, wer da verliert))
Haters gonna hate, potatoes gonna potate.
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: parsen von ASCII Dateien
Nein, der Witz ist, das ist nicht kompliziert, das ist genau das, was die Maschine wirklich macht.Bruno hat geschrieben:Danke fürs auführliche Posting!
Mann ist das kompliziert...
Darum bringe ich Einsteigern C als erste Sprache bei, weil sich so gar keine falschen Vorstellungen von den Fähigkeiten von Computern entwickeln können.
Im C Tutorial reite ich daher auch derart auf den Begriffen "Wert" und "Datentyp" herum, weil diese extrem scharfe Trennung lernen selbst Informatiker nicht explizit, vermutlich weil sie so offensichtlich ist, dass man sie dann doch schludert.
Bruno hat geschrieben:Ich denke immer noch in Fortran, da sind Strings ein eigener Datentyp und der Umgang damit ist recht simpel
Code: Alles auswählen
program bsp
implicit none
character(len=4) :: a
character(len=10) :: b
a = 'How '
b = 'do you do.'
write(*,*) a // b
! Ausgabe: How do you do.
end program bsp
Komfortabler scheint mir hier nur die Zuweisung zu sein. Hierfür vielleicht gleich der Tip zu strcpy. Eine Falle, auf die jeder C-Anfänger reinfällt, löst Du mit strcmp.
Die (wenigen) Befehle, die jede C-Implementation mitbringt findest Du hier auf Deutsch dokumentiert, soweit wir bisher gekommen sind. Die interessanten Funktionen, zum Beispiel String-Funktionen sind soweit aber abgedeckt.
In Englisch z.B. hier.
In der Firma, in der ich arbeite, programmieren wir auch Fortran. Wir haben auch jemanden, der Fortran in seiner Ausbildung ausführlich gelernt hat und dieser weigert sich Fortran zu programmieren. Er programmiert mit mir C++ und in dem Bereich, indem ich arbeite ist C++ halt gefragt und so wurde ich bisher verschont
Womit wir dann bei meiner nächsten Anreiz wären: Wenn Du 12 Jahre Fortran programmiert hast und jetzt C lernst - offenbar direkt in den produktiven Einsatz hinein - NASTRAN scheint mir nicht so das Wunschobjekt für Einsteiger zu sein - dann rate ich Dir Dich schnellstmöglich zu C++ weiterzuentwickeln. C++ ist nicht zwangsläufig langsamer als C, grundsätzlich kann es sogar schneller sein. In jedem Fall reicht es dem Entwickler Möglichkeiten an die Hand sicheren und wartbareren Quelltext zu schreiben.
Rechne ich 12 Jahre zurück landen wir bei bei etwa Fortran 95, da gibt es meines Wissens schon Strukturen und damit auch objektorientierte Programmierung? Sofern ihr die benutzt habt, solltet ihr erst recht nicht bei C aufhören.
In C++ findest Du auch komfortable(re) String-Klassen, bzw. ich habe mir inzwischen selbst eine entwickelt, die genauso so ist, wie ich mir das vorstelle.
Fortran ist auch nur C mit anderen Mitteln.Bruno hat geschrieben:Naja, 12 jahre Fortran gegen 6 Wochen C... ist klar, wer da verliert))
Dranbleiben und wenn's hakt, kannst Du hier ja Fragen stellen - dafür ist proggen.org ja da.
Am Rande: Wenn Du 12 Jahre Kompetenz für eine kommende Generation zur Verfügung stellen magst, das hier ist eine Mitmach-Seite und ein Fortran-Tutorial könnte ich sogar persönlich für meinen Beruf gebrauchen. Auch heute werden Dir vermutlich reichlich Studenten dankbar sein.
Es ist aber auch eine Seite, die von Freiwilligen erstellt wird. Es besteht also auch kein Zwang. Wir haben auch Familie, Beruf und gelegentlich den Wunsch keinen Computer zu sehen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: parsen von ASCII Dateien
Hallo!

Ich habe F77 gelernt und bin im Grunde für die paar kleinen Tools hier damit glücklich...
Ich weiß nicht, ob DAS Wissen noch gefragt ist...
C muß ich jetzt machen (C++ geht wohl nicht), weil ich jetzt doch mehr in Richtung GUI unterwegs bin und die Herstellerfirma C-Bibliotheken für Ihre Software bereitstellt, die ich nutzen will.
Evt. kann man das auch in C++ einbinden, aber ich bin erstmal froh in 6 Wochen überhaupt mal was produktives außerhalb von Fortran hinbekommen zu haben...
Was NASTRAN angeht: das ist ein (mittlerweile 50 Jahre altes) Finite Elemente Programm und DAS sieht man! (wers genauer wissen will kann ja mal googlen oder ins Wiki gucken).
Da bin ich nicht gerade ein Anfänger, daher weiß wie gefährlich es ist sich auf bestimmte Konventionen zu verlassen und daher kommt z.B. strtok nicht in Frage!
Hier muß ich echt "back to the roots" den NASTRAN Input parsen, sonst zerlegts mich, weil irgendeiner mal was von Hand reingepuzzelt hat.
Ciao
Jürgen
Ich programmiere hier (leider) nicht vorrangig, sondern helfe im Sinne der Prozeßunterstützung mit ein paar kleinen Tools, mehr nicht.Xin hat geschrieben: In der Firma, in der ich arbeite, programmieren wir auch Fortran. Wir haben auch jemanden, der Fortran in seiner Ausbildung ausführlich gelernt hat und dieser weigert sich Fortran zu programmieren. Er programmiert mit mir C++ und in dem Bereich, indem ich arbeite ist C++ halt gefragt und so wurde ich bisher verschont![]()
Hmja... bin schon eeetwas älter als es sich evt. anhört.Xin hat geschrieben: Am Rande: Wenn Du 12 Jahre Kompetenz für eine kommende Generation zur Verfügung stellen magst, das hier ist eine Mitmach-Seite und ein Fortran-Tutorial könnte ich sogar persönlich für meinen Beruf gebrauchen. Auch heute werden Dir vermutlich reichlich Studenten dankbar sein.
Es ist aber auch eine Seite, die von Freiwilligen erstellt wird. Es besteht also auch kein Zwang. Wir haben auch Familie, Beruf und gelegentlich den Wunsch keinen Computer zu sehen.
Ich habe F77 gelernt und bin im Grunde für die paar kleinen Tools hier damit glücklich...
Ich weiß nicht, ob DAS Wissen noch gefragt ist...
C muß ich jetzt machen (C++ geht wohl nicht), weil ich jetzt doch mehr in Richtung GUI unterwegs bin und die Herstellerfirma C-Bibliotheken für Ihre Software bereitstellt, die ich nutzen will.
Evt. kann man das auch in C++ einbinden, aber ich bin erstmal froh in 6 Wochen überhaupt mal was produktives außerhalb von Fortran hinbekommen zu haben...
Was NASTRAN angeht: das ist ein (mittlerweile 50 Jahre altes) Finite Elemente Programm und DAS sieht man! (wers genauer wissen will kann ja mal googlen oder ins Wiki gucken).
Da bin ich nicht gerade ein Anfänger, daher weiß wie gefährlich es ist sich auf bestimmte Konventionen zu verlassen und daher kommt z.B. strtok nicht in Frage!
Hier muß ich echt "back to the roots" den NASTRAN Input parsen, sonst zerlegts mich, weil irgendeiner mal was von Hand reingepuzzelt hat.
Ciao
Jürgen
"21" ist nur die halbe Wahrheit...
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: parsen von ASCII Dateien
Dann programmiere dir was eigenes?Da bin ich nicht gerade ein Anfänger, daher weiß wie gefährlich es ist sich auf bestimmte Konventionen zu verlassen und daher kommt z.B. strtok nicht in Frage!
C-Strings und string-Parsen ist "einfach". Nicht so einfach das es jeder sofort könnte, aber nicht so schwer als das man dafür Jahre lang C-gelernt haben müsste.
Zudem soll ein 50 Jahre altes Programm die Dateien auch lesen können, wie schwer kann es also für dich sein?
Das kann dir dabei Helfen:
http://www.proggen.org/doku.php?id=c:tutorial:cstrings
Ich bezweifle das du mit Assembler arbeiten willst^^Hier muß ich echt "back to the roots" den NASTRAN Input parsen, sonst zerlegts mich, weil irgendeiner mal was von Hand reingepuzzelt hat.
Es ist nicht "back to the roots", wenn es keine geeignete Funktion dafür gibt und du sie dir selber Implementieren musst. Es ist nur umständlich.
ich will jetzt nicht anmaßend klingen, aber dein Problem hört sich jetzt für mich nicht so schwer an, wie du selber es anscheinend ansiehst. Daher würde ich dir den Rat geben, dir einfach etwas eigenes zu Implementieren, was dein Problem löst.
MfG cloidnerux.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: parsen von ASCII Dateien
Ich war gerade mit einem Kollegen essen, der jetzt 60 wird. Er ist nicht der älteste Entwickler in der Firma. Der älteste Entwickler bei proggen.org ist - soweit ich das in Erinnerung habe und überhaupt davon weiß - 68 Jahre. Weil die "Jungspunte" hier am meisten schreiben, heißt das nicht, dass man zum alten Eisen gehört, weil man eeetwas älter ist, als es sich evtl. anhört.Bruno hat geschrieben:Hmja... bin schon eeetwas älter als es sich evt. anhört.Xin hat geschrieben: Am Rande: Wenn Du 12 Jahre Kompetenz für eine kommende Generation zur Verfügung stellen magst, das hier ist eine Mitmach-Seite und ein Fortran-Tutorial könnte ich sogar persönlich für meinen Beruf gebrauchen. Auch heute werden Dir vermutlich reichlich Studenten dankbar sein.
Es ist aber auch eine Seite, die von Freiwilligen erstellt wird. Es besteht also auch kein Zwang. Wir haben auch Familie, Beruf und gelegentlich den Wunsch keinen Computer zu sehen.
Ich habe Dich und Dein Wissen gefragt. Die Entscheidung liegt bei Dir, es gibt keinen Zwang. Wenn Du Zeit und Lust hast, würde es mich freuen, wenn nicht ist das okay.Bruno hat geschrieben:Ich habe F77 gelernt und bin im Grunde für die paar kleinen Tools hier damit glücklich...
Ich weiß nicht, ob DAS Wissen noch gefragt ist...
Wir machen hier Tutorials zum Thema Programmierung. Fortran ist eine Programmiersprache und es ist eine wichtige Programmiersprache gewesen. Es gibt weiterhin Unmengen Code in Fortran und damit gibt es immernoch Gründe, Fortran zu lernen. Jeder hier kann jederzeit mit Fortran-Quellen in Berührung kommen.
Ich würde niemandem anraten, Fortran als erste Programmiersprache zu nehmen, aber das Wissen um Fortran ist alles andere als wertlos - selbst wenn es "nur" F77 ist.
An meinem Arbeitsplatz haben wir sehr viel Fortran77, es wird aktiv daran entwickelt und ich bin nicht sicher, dass ich hundertprozentig verstanden habe, was ein "Common Block" genau ist, wenn hier davon gesprochen wird.
Ein Fortran-Tutorial wäre vermutlich nicht gut besucht, weil sich eben nicht jeder dafür interessiert. Niemand schreibt die "coolen" Ego-Shooter damit. Aber ich bin überzeugt, dass ein Fortran-Tutorial ein sehr ausgewähltes und durchaus interessiertes Publikum hätte. Die Kiddies, die mal eben Programmieren lernen wollen, werden sich das nicht antun. Aber die, die Programmieren können und jetzt mit Fortran in Kontakt kommen werden das zu schätzen wissen. Ich zumindest fand die Auswahl an interessanten Fortran-Informationen im Internet eher überschaubar.
Du kannst mit C++ C-Bibliotheken ansprechen und auch Bibliotheken erstellen, die von C aus ansprechbar sind.Bruno hat geschrieben:C muß ich jetzt machen (C++ geht wohl nicht), weil ich jetzt doch mehr in Richtung GUI unterwegs bin und die Herstellerfirma C-Bibliotheken für Ihre Software bereitstellt, die ich nutzen will.
Ich halte es auch für richtig, Dich erstmal in C halbwegs sicher bewegen zu können. Fortran77 und C sind sich in den Konzepten ähnlich. Ich gehe aber davon aus, dass Du in Fortran bereits mit dynamischen Datenstrukturen und Rekursion gearbeitet hast.Bruno hat geschrieben:Evt. kann man das auch in C++ einbinden, aber ich bin erstmal froh in 6 Wochen überhaupt mal was produktives außerhalb von Fortran hinbekommen zu haben...
Wenn Du Dich halbwegs sicher fühlst und das würde ich nach 6 Wochen definitiv noch nicht erwarten, dann solltest Du Dich auf jeden Fall in C++ und objektorientierte Programmierung einlesen. C++ hält im Vergleich zu F77 ein ganzes Universum neuer Denk-Möglichkeiten bereit.
Dann mach das.Bruno hat geschrieben:Was NASTRAN angeht: das ist ein (mittlerweile 50 Jahre altes) Finite Elemente Programm und DAS sieht man! (wers genauer wissen will kann ja mal googlen oder ins Wiki gucken).
Da bin ich nicht gerade ein Anfänger, daher weiß wie gefährlich es ist sich auf bestimmte Konventionen zu verlassen und daher kommt z.B. strtok nicht in Frage!
Hier muß ich echt "back to the roots" den NASTRAN Input parsen, sonst zerlegts mich, weil irgendeiner mal was von Hand reingepuzzelt hat.
Es bringt gerade als Einsteiger nichts, wenn man sich ewig mit den Standard-Funktionen beschäftigt, um gut zu Programmieren, sollte man sie auch selbst schreiben können. Die Standard-Funktionen kann man als guter Programmierer dann nutzen, um sie nicht immer wieder selbst zu schreiben.
Ich habe schon einigen Leuten C beigebracht und das Parsen von C-Strings ist eine der besten Übungen, um mit C vertraut zu werden. Strings sind menschenlesbar und maschinenlesbar, man kann sich wunderbar anzeigen lassen, was man gerade tut und ob das, was das Programm tut, das ist, was man sich selbst vorgestellt hat.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
