Schrift
[thread]8206[/thread]

datum inkrementieren (Seite 2)



<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten
sid burn
 2006-07-31 17:48
#68437 #68437
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=nepos,31.July.2006, 08:50]Wobei sich grade bei Datumsgeschichten die diversen Module anbieten. Die sind getestet und man muss das Rad nicht immer neu erfinden...[/quote]
Wenn man das Rad nicht selber neu erfindet, und den Gedankenprozess nicht durchmacht, dann wird man selber nicht imstande sein etwas höheres zu Entwickeln.

Was ich damit sagen möchte. Module zu benutzen ist ja ganz toll, wenn ich das aber immer machen würde, würde ich nicht Programmieren lernen, da ich nicht in der lage bin Probleme eigenständig zu lösen.

Und in meinen Fall wo das Programm ca 50 Zeilen groß ist, habe ich nicht extra ein Modul installiert. Sondern es ganz normal mit Bordmitteln gemacht. Das Garantiert das das Skript gleich auf jedem System läuft, ohne das ich auf jedem System nochmal bestimmte Perl Module nachinstallieren muss. Für das was ich tun wollte war dieser Weg gut und ausreichend.

Ich habe nichts gegen Module, dass ist ja auch ein wichtiger Grund warum ich Perl benutze, wegen seinem Reichtum an Modulen. Finde es aber mitlerweile doch schon etwas hartnäckig hier im Forum wenn man ständig darauf hingewiesen wird, dass man für dies und das Modul A,B,X benutzen sollte.

Ich denke durch die reine Benutzung von Modulen hat hier keiner Programmieren gelernt. Von daher sehe ich am "Rad neu entwickeln" nichts schlimmes.

Ich selber begrüße es sogar immer wenn jemand etwas Lernen möchte und sich mit der Thematik selber auseinandersetzt. Das einzige was man erreicht ist das man sich Wissen aneignet. Egal ob nun gute oder schlechte Erfahrung. Durch die Erfahrung wird man Reicher.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
renee
 2006-07-31 18:57
#68438 #68438
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=sid burn,31.07.2006, 15:48][quote=nepos,31.July.2006, 08:50]Wobei sich grade bei Datumsgeschichten die diversen Module anbieten. Die sind getestet und man muss das Rad nicht immer neu erfinden...[/quote]
Wenn man das Rad nicht selber neu erfindet, und den Gedankenprozess nicht durchmacht, dann wird man selber nicht imstande sein etwas höheres zu Entwickeln.

Was ich damit sagen möchte. Module zu benutzen ist ja ganz toll, wenn ich das aber immer machen würde, würde ich nicht Programmieren lernen, da ich nicht in der lage bin Probleme eigenständig zu lösen.
[/quote]

Wenn man Module verwendet, kann man sich aber auf andere Probleme konzentrieren! Um etwas "höheres" Entwickeln zu können muss man nicht alles "per Hand" programmieren. Es bleiben auch mit Modulen noch genügend Sachen für den Programmierer übrig.

Und es gibt einfach Sachen, die sollte man mit Modulen lösen und nicht "per Hand", weil man einfach viel zu viele Dinge nicht bedenkt. Oder willst Du etwa CPAN:DBI außen vor lassen und statt dessen die Verbindung zur Datenbank selbst programmieren? Auch das mit dem Datum ist so eine Sache, wo man gerne viele Fehler macht.
Quote
Und in meinen Fall wo das Programm ca 50 Zeilen groß ist, habe ich nicht extra ein Modul installiert. Sondern es ganz normal mit Bordmitteln gemacht. Das Garantiert das das Skript gleich auf jedem System läuft, ohne das ich auf jedem System nochmal bestimmte Perl Module nachinstallieren muss. Für das was ich tun wollte war dieser Weg gut und ausreichend.

Für so ein kurzes Programm und wenn man die Bordmittel wirklich kennt, ist es meistens ok. Ich sage nicht, dass man alles _nur_ mit Modulen machen muss (ich programmier auch häufig meine eigenen Sachen, obwohl Module für _ähnliche_ Aufgaben schon existieren), aber man muss entscheiden können wann man etwas selbst programmiert.
Quote

Ich habe nichts gegen Module, dass ist ja auch ein wichtiger Grund warum ich Perl benutze, wegen seinem Reichtum an Modulen. Finde es aber mitlerweile doch schon etwas hartnäckig hier im Forum wenn man ständig darauf hingewiesen wird, dass man für dies und das Modul A,B,X benutzen sollte.


Warum sollten wir nicht darauf hinweisen? Soll ich paidopoieo mit einem Wust an Befehlen alleine lassen, leise in mich hineingrinsen und denken "mit Modul A ist das aber in 7 Zeilen gelöst"?
Quote
Ich denke durch die reine Benutzung von Modulen hat hier keiner Programmieren gelernt. Von daher sehe ich am "Rad neu entwickeln" nichts schlimmes.

Ich selber begrüße es sogar immer wenn jemand etwas Lernen möchte und sich mit der Thematik selber auseinandersetzt. Das einzige was man erreicht ist das man sich Wissen aneignet. Egal ob nun gute oder schlechte Erfahrung. Durch die Erfahrung wird man Reicher.

Man kann sich mit der Thematik auch auseinandersetzen ohne dass man alles neu erfindet. Es kommt sicherlich immer etwas auf den Bereich an. Ich sage ja nicht, dass jemand, der nicht für alles ein Modul verwendet ein schlechter Programmierer ist, aber wer _immer_ darauf verzichtet ist sicherlich einer! Aus dem einfach Grund, weil die Qualität eines Programms durch etablierte Module wesentlich steigt.

Viele Module sind einfach für relativ komplexe Dinge gemacht, ohne die viele Lücken in Programmen bleiben würden.\n\n

<!--EDIT|renee|1154357880-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sid burn
 2006-08-01 00:36
#68439 #68439
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
@renee
Grml, meine Aussagen sind wieder nicht so rüber gekommen wie ich es erhofft habe.

Im großen und ganzen Stimme ich dir ja zu, und habe da auch keinerlei einwende. Module sind eine gute Sache, sie lösen Probleme und alles ständig aufs neue Programmieren wäre sicherlich blöd. Das entpsricht nicht gerade der Programmierertugend der "Faulheit".

Allerdings kommt da genauso hinzu das es nicht immer sofort schlecht sein soll, weil man mal eben kein Modul für eine Sache benutzt.

Es hängt immer vom Programm ab und welche Komplexe Sachen man macht ob sich ein Modul lohnt, oder nicht.

Es sollte doch wohl genauso nicht schlimm sein wenn man trotzdem mal etwas von Hand macht, oder eben eine Handempfohlene Sache empfiehlt, ohne das man gleich wieder herunter gemacht wird: "Dafür gibt es aber Modul X,Y,Z, die Leute haben das besser getestet und es kann A,B,C blah blah blah."

Und das sollte doch wohl auch okay sein?

Ich bin absolut nicht gegen die Verwendung von Modulen, und ich dachte das wäre in meinen Post auch so rüber gekommen. Immerhin sehe ich das ganze CPAN ja auch als einen großen Pluspunkt für Perl an.

Ich halte aber wie gesagt auch nichts davon das man ständig darauf hingewiesen wird das Modul A,B,C es besser kann, und das es schon fast als schlecht dargestellt wird, nur weil man mal selber etwas Programmiert was andere vllt. schon gemacht haben.

Und das mit dem Lernen ist einfach so gemeint das es nicht schlecht sein soll etwas zu Lernen was es schon gibt. Stell dir vor jeder Mensch würde nur noch Perl lernen oder High Level Sprachen. Weil sie mehr können. Wer entwickelt dann Perl weiter das auf C angewiesen ist? Wer entwickelt C weiter wenn sich keiner mehr mit Assembler oder Generell mit dem Compilerbau beschäftigt?

Wenn jemand einen Compiler oder Interpreter bauen möchte, dann sage ich auch nicht, schau dich um, nimm doch einfach eine der bereits vorhanden Sprachen, anstatt das Rad neu zu erfinden.

Es gehört auch mal dazu auch Sachen und Funktionsweisen zu Hinterfragen, und das halte ich auf gar kein Fall schlecht! Das bedeutet nicht das ich jegliches Modul ablehne, oder das man absolut alles von Hand machen sollte! Den das habe ich nicht gesagt.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
renee
 2006-08-01 00:50
#68440 #68440
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=sid burn,31.07.2006, 22:36][...]

Es sollte doch wohl genauso nicht schlimm sein wenn man trotzdem mal etwas von Hand macht, oder eben eine Handempfohlene Sache empfiehlt, ohne das man gleich wieder herunter gemacht wird: "Dafür gibt es aber Modul X,Y,Z, die Leute haben das besser getestet und es kann A,B,C blah blah blah."

Und das sollte doch wohl auch okay sein?
[...][/quote]
Es wäre jedenfalls empfehlenswert, wenigstens auf ein Modul hinzuweisen (wenn man ein geeignetes kennt). Deswegen findet man von mir auch etliche Antworten, die eine "händische" Lösung zeigen, aber auch ein Modul nennen, mit denen man die Aufgabe leichter lösen kann.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
FIFO
 2006-08-01 01:17
#68441 #68441
User since
2005-06-01
469 Artikel
BenutzerIn

user image
Hallo,

beim Lesen mancher Posts/Threads (nicht in diesem ;-) merkt man, dass die Fragen offensichtlich von Perl- oder Programmierneulingen stammen.
Für die ist ein blanker Hinweis auf ein CPAN-Modul m.E. wenig hilfreich. Wenn man sieht, dass auch die basale Syntax erst mal verstanden sein will, ist der Lerneffekt aus einem exemplarischen Snippet (mit Radneuerfindung) ungleich größer (und wer hat nicht schon im "Cookbook" gewildert?).
Es muss nicht jeder das Rad erfinden, aber er sollte sehen können, wie man es notfalls erfinden kann. Vielleicht kommen ja gute Ideen dabei raus, TMTOWTDI, und - wer weiß - tolle neue Module ...
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
renee
 2006-08-01 01:25
#68442 #68442
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich kann aber auch nicht immer mit einem Snippet helfen, da auch ich nicht alle Module kennen kann und nicht jedes Problem so "trivial" ist, dass ich in 2-3 Minuten einen Code zusammen"hacken" kann. Dann liefer ich lieber nur einen "blanken Hinweis" auf ein Modul, von dem ich ausgehe, dass es für das Problem hilfreich ist.

Ich verteufel ja auch die Snippets nicht, deswegen bin ich bei vielen Problemen dafür, sowohl Snippet als auch Modul zu zeigen.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
FIFO
 2006-08-01 01:48
#68443 #68443
User since
2005-06-01
469 Artikel
BenutzerIn

user image
schon klar, ich meinte nur, dass die Antworten dem Kenntnisstand der Fragenden angemessen sein sollten. Wenn jemand 'split' nicht verstanden hat und dann eine CSV-Datei einlesen will, können die diversen CSV::xyz-Module das sicher besser, aber der Lerneffekt ist null (außer, dass man evtl. viel Zeit damit verbringt, wie man eigentlich ein CPAN-Modul integriert, mit make/nmake etc. pp, das ist ja für den nichtberäderten Schlittenfahrer nicht unbedingt trivial).
Der Wert des Forums liegt ja darin, dass die "Erwachsenen" die Probleme der Kinder auch schon hatten ...

[edit] typo, ich hasse typos, Mutter war Deutschlehrerin ...[/edit]\n\n

<!--EDIT|FIFO|1154382705-->
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
Dubu
 2006-08-01 02:28
#68444 #68444
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Wenn ich ausprobieren und verstehen möchte, wie man CSV-Dateien verarbeitet, dann programmiere ich mir die Routinen selber. Wenn ich einfach nur Daten von A nach B bekommen möchte, nehme ich ein Modul.

Wenn's um ein Hobby oder das Programmierenlernen geht, dann ist Ausprobieren der beste Weg, aber viele hier verdienen ihr Geld mit dem Programmieren, und da gibt's kein Extra-Lob dafür, dass man etwas selber geschrieben hat, statt ein Modul zu nehmen. Es kommt darauf an, dass es seinen Zweck erfüllt, und das möglichst fehlerfrei und bald (meist mit anderer Priorisierung). Da überlasse ich es gerne anderen, sich schon mit den "gory details" herumgeschlagen zu haben.

Die "einfache Lösung" kann manchmal eben blöde Fallstricke haben. Nehmen wir den Vorschlag von sid burn oben: "[...] Dann rechnest die Sekunden für 7 Tage wieder drauf, und rechnest die UTC Zeit wieder in ein normales Datum um (localtime)."
Okay, mach ich. Der Einfachheit halber habe ich mein erstes Datum schon als UNIX-Timestamp. Ein Tag hat 86'400 Sekunden, mal 7, ergibt die Sekunden, die ich addieren muss:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl
use strict;
use warnings;
use Time::Local;

my $timestamp1 = 1143151500;
my $differenzTage = 7;

my $timestamp2 = $timestamp1 + $differenzTage * 86_400;

printf "   Erstes Datum: %s (%d s)\n", scalar localtime($timestamp1), $timestamp1;
printf "%3d Tage später: %s (%d s)\n", $differenzTage, scalar localtime($timestamp2), $timestamp2;
__END__
  Erstes Datum: Thu Mar 23 23:05:00 2006 (1143151500 s)
 7 Tage später: Fri Mar 31 00:05:00 2006 (1143756300 s)

Ups, Moment mal! Sieben Tage nach dem 23. März kann doch nicht der 31. März sein? "Tja, tut uns leid, Frank Parker, du bist zu spät gestartet, der Präsident ist tot." Die Differenz in Sekunden stimmt zwar, aber trotzdem kommt nachher eine Stunde mehr heraus ...

Gut, das Beispiel ist gemein, aber es zeigt, was passieren kann, wenn man jemandem eine "einfache Lösung" zeigt, ohne auf die möglichen Probleme hinzuweisen.

Wie heißt es? "Zu Risiken und Nebenwirkungen fragen Sie den Autor oder das Perl-Community-Forum." ;)
Hoffe ich doch.
GwenDragon
 2006-08-01 12:45
#68445 #68445
User since
2005-01-17
14848 Artikel
Admin1
[Homepage]
user image
Es kommt darauf an, ob viel Zeit ist.
Wer lernen will/muss sollte auch mal selbst programmieren.
Wer externe Anbindunge von C nach Per lschreiben muss, tut es sowieso., Und wer der Community etwas an WIssen und Code beisteuert auch.
Aber wenn ich beruflich schnell eine Lösung finden will, die auch nachfolgende Leute noch pflegen können, sind meines Erachtens Module sinnvoll.
nepos
 2006-08-01 13:27
#68446 #68446
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich wollte mit dem Hinweis auf das Modul nur zum Ausdruck bringen, dass es beruflich oft sinniger ist, ein getestes Modul zu nutzen, als fuer ein Problem eine eigene Loesung zu machen, die dann vielleicht noch den ein oder anderen Fehler enthaelt.
Das Selberbauen bringt klar was fuer den Lerneffekt, andererseits kostet es Zeit beim Entwickeln und Zeit beim Fehlersuchen, die man sich mit einem Standardmodul normal spart.
<< |< 1 2 3 >| >> 24 Einträge, 3 Seiten



View all threads created 2006-07-28 01:13.