Wie kann man klassisches ASP interessant machen, wenn man nicht weiterkommt? [geschlossen]

14

Früher arbeitete ich in einem sehr kleinen Outsourcing-Unternehmen (4 Programmierer und der Chef). Als der Stress und die häufigen langen Schichten die Situation unerträglich machten, wechselte ich zu einem besser bezahlten Job mit einem lockeren Zeitplan, der mir mehr ermöglicht Freizeit.

Das Problem ist jedoch, dass zum größten Teil alles in Classic ASP codiert ist, das mit einem benutzerdefinierten C ++ - Warteschlangensystem verbunden ist, in dem alles in AS400-Systemen gespeichert ist. Mein Chef war einer der Entwickler, die die ersten Anstrengungen unternommen haben, und wird natürlich niemals einen Wechsel zu einer anderen Sprache / Technologie genehmigen, obwohl es immer schwieriger wird, die heutigen Geschäftsanforderungen mit Tools von gestern zu entwickeln.

Ich stecke in absehbarer Zeit ziemlich fest mit der Codierung von Classic ASP und habe Mühe, Möglichkeiten zu finden, um sie zumindest interessant zu gestalten, da ich früher mit .NET und Java gearbeitet habe und das Gefühl habe, ich werde es tun rückwärts ... Irgendwelche Ratschläge?

Saul Delgado
quelle
13
... daraus ein Trinkspiel machen? Es funktioniert für viele schlechte Filme und TV-Shows ...
FrustratedWithFormsDesigner
4
Ich glaube, er wäre in Kürze an einer Alkoholvergiftung gestorben ...
Wayne Molina
4
Eine andere Idee: Teilen Sie Ihre Ergebnisse auf TheDailWTF.com mit, damit andere ihre Sympathien zum Ausdruck bringen können.
FrustratedWithFormsDesigner
2
Ich stelle die Prämisse in Frage ... sehr wenige Leute, die glauben, dass sie "auf absehbare Zeit festgefahren sind", sind es wirklich. Wenn dies kein Gefängnisjob ist, gibt es einen Ausweg, wenn Sie sich die Mühe machen, ihn zu finden. Wenn Sie immer noch denken, Sie stecken fest, stellen Sie sich das vor ... das Unternehmen wird morgen seine Geschäftstätigkeit einstellen. Würdest du immer noch "stecken bleiben"? Wenn nicht, warum steckst du dann jetzt fest?
JoelFan
1
"Alles ist in klassischem ASP codiert, das mit einem benutzerdefinierten C ++ - Warteschlangensystem verbunden ist, das alles in AS400-Systemen speichert." Ich werde Albträume haben.
Tjaart

Antworten:

27

Wie andere darauf hingewiesen haben, sollten Sie wahrscheinlich versuchen, die Meinung Ihres Chefs zu ändern oder eine Anstellung zu finden, bei der Sie sich nicht mit einer solchen Rückwärtsmentalität abfinden müssen.

In der Zwischenzeit könnten Sie Ihren Job jedoch etwas interessanter gestalten, indem Sie versuchen, alle Funktionen auf der Clientseite zu verschieben und asynchrone Aufrufe zu verwenden, um Dinge auf dem Server auszulösen. Stellen Sie sich dies als ein HTML / JavaScript-Front-End mit Webservices (implementiert in klassischem ASP) auf dem Back-End vor. Die Entwicklung einer RESTful-API könnte eine interessante Herausforderung darstellen. Es gibt einige Tools wie JSON-Parser für Classic ASP, mit denen Daten auf standardisierte Weise hin- und herbewegt werden können. Mit clientseitigen Vorlagen können Sie Daten, die Sie von Ihren Webdiensten erhalten, für eine bessere Präsentation formatieren . LinkedIn hat etwas Ähnliches getan , um verschiedene Back-End-Technologien zu vereinheitlichen.

Sobald Sie eine RESTful-API haben, können Sie versuchen, einige verwaltete Webdienste zu schreiben, um die Funktionalität vorhandener klassischer ASP-Inhalte zu emulieren.

R0MANARMY
quelle
4
+1 Tolle Antwort! Machen Sie Classic ASP moderner! Möglicherweise tun Sie etwas SEHR Einzigartiges und Kluges, und Sie werden viel lernen. Mir wird nie langweilig, wenn ich lerne.
maple_shaft
@maple_shaft: Trick ist, dass man nicht lange genug lernt, um etwas Nützliches zu erledigen =).
R0MANARMY
Ja, das ist genau die Antwort, nach der ich gesucht habe. In der Zwischenzeit etwas zu tun. Auch für die anderen Leute, die vorschlagen, sich nach einem anderen Job umzusehen, weiß ich, dass ich irgendwann einen anderen Job finden werde, der meinen Interessen entspricht, und es wird keine schwierige Wahl sein, wenn es an meine Tür klopft.
Saul Delgado
11

Bevor ich anfange, werde ich nicht auf die Frage eingehen, ob Ihr Chef zu Recht auf klassischem ASP besteht oder nicht. Sie haben uns nicht genug Informationen gegeben. Wenn Sie in Classic ASP einen sehr großen Bestand an vorhandenem Code haben, der zu 95% gut genug ist, und Sie kleine Wartungsaufgaben ausführen, ist es wahrscheinlich eine gute Idee, sich nur an Classic ASP zu halten ... die Kosten für die Portierung von allem auf a neue Sprache ist möglicherweise zu hoch. Wenn Ihr Chef jedoch neue Projekte in Classic ASP startet, gibt es dafür keine Entschuldigung. Und es gibt eine ganze Reihe in der Mitte. Ich habe also nicht genug Informationen, um das abzuwägen, und kümmere mich nicht darum.

Aber ich möchte Ihre genaue Frage ansprechen ... wie man das Codieren interessant macht .

Ist interessanteine gute Sache bei der Codierung? Erinnern Sie sich an den chinesischen Fluch: "Können Sie in interessanten Zeiten leben?" Nun, es ist wahrscheinlich kein Chinesisch ... aber die Sache ist, ich frage mich, ob alle Formen der Programmierung interessant sein sollten. Manchmal möchte man einfach, dass es einfach und unkompliziert ist. Die größten Codeverluste, die ich jemals bereinigen musste, wurden von Entwicklern verursacht, die es satt haben, einfach und unkompliziert etwas zu tun und eine clevere Sprachfunktion suchen müssen, die noch niemand gehört hat, nur um ihren eigenen Verstand zu stimulieren. Ich erinnere mich, dass ich 20 Zeilen C ++ - Code gefunden habe, deren Zweck ich einfach nicht entschlüsseln konnte. Es hat sich herausgestellt, dass es ein subtiler Trick eines Entwicklers war, sicherzustellen, dass bestimmte Variablen auf 1 initialisiert wurden, wenn Sie vergessen haben, sie zu initialisieren. Es war lächerlich und der Junge war es interessant. Aber es hat alle verschwendet.

Es hat eine Menge Tugend, den größten Teil Ihres täglichen Codes in einer "langweiligen" Sprache zu schreiben. Sie können also mit Ihrem Gehirn über die Anwendungsdomäne nachdenken, anstatt herauszufinden, warum die neueste Sprachfunktion, die Sie gerade entwickelt haben, nicht so funktioniert, wie Sie es erwartet haben. Sie können in der Regel viel schneller arbeiten, wenn Sie Ihre Sprache und ihre Bibliotheken vollständig verstehen. Das bedeutet, dass Sie Ihre Gehirnströme nutzen können, um Ihre Anwendung interessanter, nützlicher, rentabler oder benutzerfreundlicher zu machen.

Nutzen Sie Ihre Freizeit, um neue interessante Sprachen zu lernen. Arbeiten Sie an Open Source-Projekten oder arbeiten Sie an Ihren eigenen Projekten.

Denken Sie daran, dass ich die Verwendung von Classic ASP nicht verteidige, und ich sage nicht, dass es eine gute Idee ist, es zu verwenden, weil es "langweilig" ist. Wenn Sie der Meinung sind, dass es eine Tugend ist, eine "interessante" Entwicklungsumgebung zu verwenden, haben Sie mehr Macht ... aber Sie konzentrieren sich auf das Falsche. Ein guter Bildhauer möchte keinen interessanten Meißel ... der die Herstellung schöner Statuen behindern würde. Ein guter Maler sucht nicht nach "interessanten" Pinseln. Sie mögen mit interessanten Werkzeugen herumalbern, aber sie werden ihre beste Arbeit mit den langweiligsten Werkzeugen machen - den Werkzeugen, die so langweilig sind, dass sie verschwinden und den Künstler an der Kunst arbeiten lassen.

Joel Spolsky
quelle
3
Ich glaube, die Frage richtete sich nicht speziell auf interessante Merkmale einer bestimmten Sprache, sondern eher nach dem Motto: Was kann ich tun, um mich darauf zu freuen, jeden Tag zur Arbeit zu kommen? In diesem Zusammenhang möchten Sie einen Schritt zurück von der Programmierung und der Frage machen, wie ich diese Anwendung interessanter, nützlicher, rentabler oder benutzerfreundlicher machen kann. ist genau richtig. Es ist weniger ein Künstler, der einen interessanten Pinsel zum Malen benutzt, als vielmehr interessante Motive zum Malen zu finden.
R0MANARMY
Sie sagten "interessanter, nützlicher, rentabler oder nutzbarer". Ich frage mich, wie viele Leute, die als Programmierer beschäftigt sind, an diesen Aspekten der Software arbeiten? Ich würde nur denken, wenn Sie das gesamte oder einen Teil des Projekts besaßen oder bei einem Start-up arbeiteten, könnten Sie diese berühren. Ich habe die Erfahrung gemacht, dass die meisten Umgebungen, in denen Entscheidungen getroffen werden, anderen überlassen bleiben, hauptsächlich dem Management oder den PMs.
Aceinthehole
7

Sie haben das Gefühl, dass Sie rückwärts gehen, weil Sie es sind . Es gibt keinen anderen Rat, als ein Unternehmen zu finden, das nicht im Dunkeln steckt. Heutzutage gibt es absolut keinen Grund, sich an Classic ASP zu halten. Tatsächlich werde ich direkt sagen, dass die Entscheidung, bei Classic ASP zu bleiben, Ihnen in Zukunft weh tun wird, da A) Ihre .NET- und Java-Kenntnisse verkümmern und B) Sie für einen zukünftigen Arbeitgeber an Classic ASP arbeiten, einer Technologie das ist seit über 10 jahren veraltet und glich schon damals dem zähneputzen; mit anderen Worten, Sie haben keine relevanten Erfahrungen. Sie haben schlecht gewählt, wie es scheint.

Mit Classic ASP können Sie nur so viel tun, und es ist alles sehr schmerzhaft.

Wayne Molina
quelle
4
Das OP weist darauf hin, dass er dies zumindest für die absehbare Zukunft nicht tun kann. Daher ist es nicht hilfreich, ihm vorzuschlagen, dass er geht. Noch weniger hilfreich ist es, auf alle Arten und Weisen hinzuweisen, in denen Sie das Gefühl haben, dass seine Situation schrecklich ist. Vor 10 Jahren war 2001 ungefähr ein Jahr vergangen, bevor .NET Framework 1.0 veröffentlicht wurde.
Gratzy
2
@Gratzky nein, aber es war schon damals eine schreckliche Technologie. Weit unterlegen gegenüber den beiden Hauptalternativen: PHP und JSP
Sean Patrick Floyd
6

Lernen Sie eine moderne Sprache Ihrer Wahl und erstellen Sie damit ein Tool, das Ihre ASP-Seiten und -Klassen für Sie generiert, beispielsweise durch Reverse Engineering aus einer Zieldatenbank. Das wird es sicher interessant machen.

Marcelo
quelle
T4 fällt mir ein, aber ich schätze, jede Template-Engine würde das tun.
R0MANARMY
1
Ich habe so etwas gemacht. Ich habe Ruby verwendet, um gespeicherte Prozeduren und Datenzugriffsklassen basierend auf Datenbanktabellendefinitionen zu generieren.
Larry Coleman
@ Larry Coleman: Du meinst etwas im Sinne von Migrations
R0MANARMY
@ R0MANARMY: Ja, aber Rails gab es damals noch nicht.
Larry Coleman
5

Warum würden Sie jemals mit einer alten Technologie stecken bleiben ? Unternehmen migrieren ständig Technologien. Der Trick besteht darin, eine Liste der Gründe aufzustellen, warum der Wechsel zu einer neueren Technologie für das Unternehmen von Vorteil ist - sowohl aus technischer als auch aus wirtschaftlicher Sicht. Mehr als einmal überwiegen die Vorlaufkosten für die Migration von Tech-Stacks bei weitem die zukünftigen Entwicklungskosten.

Auch wenn sich aus einem unbekannten Grund herausgestellt hat, dass ein Technologiewechsel nicht möglich ist, können Sie immer die aktuellen Tools und Technologien verwenden, um Ihr Leben mit den alten Technologien erträglicher zu gestalten.

Wenn Ihr Chef einer der ersten Entwickler des Projekts ist und sich weigert , die Technik nur aufgrund der Tatsache zu ändern , dass er Ihr Chef ist und es besser weiß als Sie, dann würde ich höchstwahrscheinlich nach einem neuen Job suchen - das möchten Sie nicht in einem Umfeld festsitzen, in dem Ihre Führung kurzsichtig ist. Ich sage nicht, dass es einfach sein wird, ihn / sie zu überzeugen, da ich mir sicher bin, dass sie jahrelang in ihr Baby investiert haben und zuzugeben, dass Veränderungen erforderlich sind, ist ein schwerer Schlag für das alte Ego. Sie müssen dies sicherstellen Sie haben klare , präzise und messbare Gründe, warum eine Migration erforderlich ist, wo es ziemlich Ihr Chef in einer Situation bringen würde , wo nicht Zuwandern wäre eindeutig eine schlechte Entscheidung.

Viel Glück.

Demian Brecht
quelle
Ich weiß, es gibt keinen Grund, an alter Technologie festzuhalten, selbst das hier verwendete maßgeschneiderte Framework ist eine Herausforderung und bietet nicht einmal die Hälfte der Vorteile eines kommerziellen Programmier-Frameworks. Ich erinnere mich, dass ich hier irgendwo zugehört habe, dass die Tatsache, dass es im eigenen Haus hergestellt wurde, eine dunkle Schicht hinzufügt, die als Sicherheitsmaßnahme angesehen werden kann, aber um ehrlich zu sein, kaufe ich das nicht.
Saul Delgado
2
@ reno812, Sicherheit durch Unbekanntheit ist KEINE Sicherheit. Es ist so, als ob die Hintertür Ihres Hauses weit offen hängt und sagt, dass Ihr Haus sicher ist, weil diese Tür nicht zur Straße zeigt.
maple_shaft
Ich weiß, dass es nicht so ist, nur um Ihnen eine Vorstellung von der Mentalität hier zu geben.
Saul Delgado
3

Ich arbeite auch mit Classic ASP und habe es (in gewissem Maße) geschafft, es interessant zu machen. Hier sind die Schritte:

  • Klassisches ASP kann entweder in VBScript oder JScript (Javascript) codiert werden, ohne dass Änderungen an der Architektur vorgenommen werden müssen. Wechseln Sie zu Javascript.
  • Erhalten Sie Zugriff auf verschiedene Bibliotheken: json2.js, Unterstrich, Schnurrbart ... Sie können Node.JS-Bibliotheken oder clientseitige Bibliotheken mit verschiedenen Modifikationen anzeigen.
  • Erstellen Sie ein MVC-Framework oder laden Sie eines herunter. Sie können Vorlagen und Ansichten verwalten, indem Sie eine Datei vom Server laden und deren Inhalt lesen und eine der zahlreichen JS-Vorlagenbibliotheken verwenden. Für den Controller können Sie Variablen in der Abfrage verwenden, um Anforderungen so umzuleiten, wie Sie die URL normalerweise verwenden würden (weniger sauber, aber es funktioniert).
  • Sie können auch eine (vereinfachte) REST-API erstellen!
  • Erstellen Sie einen ORM (falls Sie Zugriff auf die Datenbank haben) oder laden Sie einen herunter. Sie können sogar LINQ-to-SQL basierend auf einem Unterstrich erstellen.
  • Arbeiten Sie an Ihren Ansichten. Verwenden Sie erweiterte JS-Bibliotheken wie Angular oder Backbone. Wechselt von CSS zu LESS, Stylus oder SASS.
  • Machen Sie Proxy-to-Hässlich-Code-Klassen. Dies sind Klassen, die ausschließlich dazu gedacht sind, sich mit dem alten hässlichen Code zu verbinden, damit Sie ihn nicht anfassen müssen.
DistantEcho
quelle
2

Sie können Ihre eigenen Klassen erstellen und so viele Prozesse wie möglich optimieren. Hier ist eine Seite mit ein paar Beispielen: http://www.u229.no/stuff/

Sie können Ihre Klassen sogar an andere vermarkten, die noch klassisches ASP verwenden. Wie Demian sagte, gibt es viele Unternehmen mit älteren Technologien ... nicht jeder springt in die neuen Sachen.

Michael Riley - AKA Gunny
quelle
Als ich vor einiger Zeit das letzte Mal an klassischem Asp arbeiten musste, war eine der schönen Überraschungen, dass VBScript angefangen hatte, Klassen zu unterstützen.
Gratzy
1

In erster Linie, wenn es nicht die Kosten für die Aktualisierung Ihrer Technologie sind, sondern die Tatsache, dass der CEO so klein ist, dass er sich weigert, die Technologie auf der Grundlage der Idee zu aktualisieren, die er am besten kennt und die klassische Asp mag, hätte ich ernsthafte Zweifel Je länger Sie warten, desto schwieriger wird es, einen anderen Job zu bekommen.

Beginnen Sie trotzdem mit der Migration, um "option strict" zu verwenden. Dies könnte die Pflege Ihrer Codebasis weniger schmerzhaft machen

Bob der Hausmeister
quelle
1

Da die Daten bereits auf AS400 / IBMi gespeichert sind, wissen Sie, dass Sie Java-, PHP-, MySQL-Schnittstellen und andere Funktionen auf diesem Betriebssystem ausführen können? Ich vermute, er ist ein 400-Jähriger, kein ASP-Jähriger. Versuchen Sie dies zu nutzen, ich hätte gerne die Gelegenheit, ein solches 400-Ökosystem aufzubauen.

Jé Queue
quelle
0

Alle Antworten hier sind wirklich sehr gut. Ich wollte nur eine andere Alternative vorschlagen.

Beginnen Sie, Infrastrukturprobleme (Datenbank, Dateisystem, COM-Code usw.) in separate Dateien zu verschieben. Beispielsweise könnten Sie eine Prozedur haben, die ein Recordset als Array zurückgibt (ich habe dies vor 8 Jahren getan, aber kein Codebeispiel - sorry).

Versuchen Sie, den in Ihrem HTML-Code erscheinenden "Code" zu löschen, indem Sie ihn an den oberen Rand der Seite oder sogar in eine allgemeine / Utility-Klasse verschieben. Es ist sogar möglich, die Kopf- / Navigations- / Fußzeilenfunktionen in einer einzelnen ASP-Seite mit Inhaltsseiten zu haben, die relativ wenig Code enthalten (mit einigen Verweisen auf Variablen und dergleichen).

Nachdem Inhalt, Präsentation / Formatierung, Geschäftslogik und Infrastruktur getrennt sind, können Sie jetzt auf ASP.NET MVC umsteigen, sobald Sie die Lernkurve mit dieser Technologie überwunden haben. Es wird nicht so einfach sein, wie einen Schalter zu betätigen, aber es fühlt sich allen sehr ähnlich, die mit Ihrer modularisierten klassischen ASP-Lösung gearbeitet haben (was bedeutet, dass es Ihrem Chef vielleicht gefällt).

Mayo
quelle
-1

Wie kann man klassisches ASP interessant machen, wenn man nicht weiterkommt?

Seien Sie zunächst stolz auf Ihre Arbeit (auch wenn es sich um klassisches ASP handelt). Grund: Eine schlecht entwickelte (oder gepatchte) klassische ASP-Seite ist ein noch größerer Albatros um Ihren Hals. Ihr Chef wird natürlich erwarten, dass Sie alle auftretenden Fehler beheben, und es wird sich glücklich anfühlen. Laden Sie einfach gute Musik auf, setzen Sie Ihre Kopfhörer auf und steigen Sie so schnell wie möglich ein und aus (vorausgesetzt, es ist tatsächlich hell am Ende des Tunnels und Sie werden bald an etwas arbeiten interessanter).

Zweitens, tun Sie, soweit Sie dazu in der Lage sind, Ihr Bestes, damit die Seiten gut aussehen und sich gut anfühlen. Arbeiten Sie Ihre Magie mit CSS. Verwenden Sie Bootstrap, wenn Sie können. Verwenden Sie AJAX und andere Techniken, um Ladezeiten und Aktualisierungen im Vollbildmodus zu reduzieren.

Drittens versuchen Sie, jQuery, jQuery UI und andere clientseitige Bibliotheken zu verwenden, um die Seiten schnell und flüssig zu gestalten. Manchmal können Sie möglicherweise ganze ASP-Seiten mit Modals, Assistenten oder sogar SPAs entfernen ! Dies reduziert die Menge an klassischem ASP, die Sie schreiben müssen, und macht die Arbeit weitaus interessanter.

Jim G.
quelle