Toon posts:

[alg] kwaliteit gegenereerde web applicaties

Pagina: 1
Acties:

Verwijderd

Topicstarter
Onlangs zag ik een demonstratie van iemand die met dreamweaver een complete web applicatie genereerde zonder ook maar een regel te programmeren. Eigenlijk kan deze persoon dat ook absoluut niet. De meest simpele programmeer concepten als een loop of een variabel zijn al bijna rocket science voor hem.

Toch stond er een complete web app, inclusief aanmeld traject voor users, log-in scherm, security etc. De webapplicatie kon data vanuit een DB weergeven inclusief de mogelijkheid van koppelingen (bv eerst lijst users, dan op user clicken en je gaat naar items die bij user horen.) Ook nieuwe data invoeren was mogelijk, inclusief validatie.

Het punt was dat op deze manier het vak van programmeur nogal in waarde daalt. Zeker bij veel mensen die niet kunnen programmeren heerst nogal eens ongeloof dat je uberhaupt meer dan zeg 10 regels code met de hand intyped. Als je zegt dat je bijvoorbeeld 40.000 regels geschreven hebt voor een project dan is de reactie vaak van of je dat niet gewoon automatisch kan laten genereren.

Vroeger lachte ik nogal om dergelijke opmerkingen, maar nu ik zag wat dreamweaver automatisch kan maken komt een dergelijke scenario toch wel dichterbij.

Tuurlijk, echte business logic blijft wel hand programmeer werk, maar hoeveel van het andere programmeer werk gaat allemaal vervangen worden door automatische generators? Wat is de toekomst hiervan, en wat is de kwaliteit en voornamelijk de onderhoudbaarheid van deze code?

Ik ken dreamweaver niet eigenlijk, maar kan me niet voorstellen dat een eenmaal gegenereerd stuk code altijd weer terug gelezen kan worden naar design view, zeker niet als je handmatig veranderingen in de code hebt gemaakt.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik denk dat voor de 'zoveelste' webapplicatie wel wat meer gegenereerd kan worden. Ik heb zelf met velocity, middlegen en een db model ook wel eens wat gegenereerd. Probleem is dat je een nogal lelijk java domain model krijgt, allerlei problemen krijgt omtrend caching, de wereld aan services en dao`s krijgt (voor iedere tabel 1) en nog veel meer ellende.

Dus generators kunnen zeker wel iets betekenen, maar je zult hoe dan ook moeten blijven tunen. En op het moment dat je iets anders wilt, dan zul je met een generator denk ik snel in de problemen komen.

[ Voor 5% gewijzigd door Alarmnummer op 20-10-2005 11:41 ]


  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 23:59
Ik maak me hier ook zorgen over. Ik zit in de Oracle business, en zie dat Oracle de java kant op wil met JDeveloper. Klinkt heel aardig, aangezien ik ook absoluut de java-richting op wil, maar dit Java gebeurt, helaas, wel op de "oracle-manier". Ik heb namelijk een demo gezien waarbij met behulp van het ADF-framework. Dit framework is door Oracle zo aangepast, dat het eigenlijk alleen nog maar werkt bij het ontwikkelen van oracle-applicaties.
Wat ik zag is dat een complete web-applicatie in elkaar wordt geklikt met behulp van wizards. Ik heb werkelijk geen regel java-code gezien! Erg teleurgesteld was ik na het zien van dit wizard-invulwerk, en ik heb meer mensen gehoord die dit drie keer niks vinden.
Als het in het oracle-wereldje echt die kant op gaat, dan vrees ik dat ik dat niet jaren vol ga houden. Ik ben een echte techneut en wil bezig zijn met het echte hardcore programmeerwerk, niet het invullen van wizards en op de 'genereer' knop rammen.

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Zoals je zegt, de business logic zal toch voor het overgrote deel "handwerk" blijven. De rest kan gegenereerd worden, maar feitelijk "gebeurt" dat al met frameworks. Een goed framework draagt al zorg voor alles / zoveel mogelijk wat niet applicatie-specifiek is, en zorgt ervoor dat daarvan ook nog een groot deel met wat simpele configuratie te doen is.

En of je dat nu aanklikt of dat je dat met de hand intoetst maakt niet zoveel uit. Hoe specifieker het wordt, hoe minder het klik-werk zal voldoen. Bovendien zal je toch, zoals Alarmnummer al zegt, toch echt wat moeten aanpassen, met de hand, wil het goed werken. Een generieke generatie applicatie kan natuurlijk nooit zo exact de dingen bepalen zoals ze daadwerkelijk horen en/of het beste zijn in elk geval zoals dat met de hand kan.

DM!


Verwijderd

Een 'applicatie generator' heeft geen inzicht in de betekenis van gegevens noch van process flow, en zal daarom alleen triviale input-/output applicaties kunnen genereren. Lang niet alle klantenwensen zullen op deze manier gerealiseerd kunnen worden.

En eerlijk gezegd vind ik het genereren van code/software een hele goede ontwikkeling. Als iets te genereren is, dan is het feitelijk te routinematig om interessant te zijn. En als jij zegt
Het punt was dat op deze manier het vak van programmeur nogal in waarde daalt.
dan denk ik dat dat heel erg afhangt van hoe 'programmeur' omschrijft. Wellicht zal de inhoud van ons werk veranderen, maar ik denk dat het inhoudelijk juist hoogwaardiger wordt. Alle routinematige klussen worden weggeautomatiseerd, dus we kunnen ons concentreren op onze werkelijke taak: nl. een goede, waardevolle applicatie bouwen Het kan zijn dat ons meer gaat bestaan uit het besturen / configureren van tools die de werkelijke applicatie genereren ipv zelf code schrijven.

Verandering is moeilijk voor de mens, maar de enige constante in het leven is dat er verandering zal zijn. Heel lang geleden schreef een programmeur een programma met ponskaarten, daarna assembler, daarna een modernere taal, maar ondertussen werken we bijna allemaal met mooie IDE's waarin het maken van eeb GUI grotendeels een kwestie van sleur-en-pleur is. Ook dat is voor veel mensen een grote en moeilijke verandering (geweest), maar wel een die nodig had. Veel programmeurs willen nog steeds niets horen van dit soort tools, omdat "een echte programmeur het met [vul hier een verouderde techniek in] doet". Maar de echt goede ontwikkelaars omarmen de verandering en kunnen hun werk daardoor des te beter doen en meer waarde voor zichzelf, de werkgever en klant toevoegen.

Overigens, dat bepaalde tools iets soms niet kunnen betekent niet dat het onmogelijk is. In een webbrowser wordt een HTML document in een grafisch geheel omgezet, waarom zou een HTML editor dat dan niet kunnen, en dat andersom?

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 20 oktober 2005 @ 13:04:
En eerlijk gezegd vind ik het genereren van code/software een hele goede ontwikkeling. Als iets te genereren is, dan is het feitelijk te routinematig om interessant te zijn.
Daar ben ik het wel 100% mee eens. Het is echter ook zo dat mensen nu opeens dingen -kunnen- doen die ze eigenlijk niet zouden -moeten- doen. Neem die vriend van me die dus een web applicatie bouwde aan de hand van een database tabel.

Normaal gesproken had ie geen applicatie kunnen maken, nu kan ie het wel en zal het dus ook doen. Echter, de database structuur is niet bestaand. Er is geen structuur. Er is alleen een enkele tabel. Over verhalen als normalisatie hoef je echt niet aan te komen bij hem.

Waar ik dus bang voor ben is dat er dus te veel mensen op een dergelijke manier gaan werken en dat de kwaliteit en de arbeidsmarkt hieronder zal lijden.

Ik vind het wel een goede ontwikkeling dat mensen die niet kunnen programeren, een view kunnen samenstellen door of te wel standaard componenten te gebruiken, of te wel custom componenten te gebruiken die de programmeur heeft klaargezet. (zie een beetje het JSF verhaal voor Java en ASP.NET kwa web components)

  • Tuxie
  • Registratie: Augustus 2003
  • Laatst online: 21:43

Tuxie

En WeL nU!

Het is een goede ontwikkeling. Ik bouw ook wel eens generators, maar zoals alarmnummer al zegt, wil je meer krijg je problemen en heb je echt wel kennis van zaken nodig. Hooguit dat de interface laag en een deel van de applicatielaag gegenereerd wordt, maar dat is IMHO ook max. 20% van het totaal. De grootste zwik zijn je domeinobjecten, businessobjecten en het tunen/testen...

Verwijderd

Verwijderd schreef op donderdag 20 oktober 2005 @ 14:13:
[...]
Het is echter ook zo dat mensen nu opeens dingen -kunnen- doen die ze eigenlijk niet zouden -moeten- doen.
Er zijn in het dagelijks leven ook producten die eigenlijk kwalitatief uitermate teleurstellend zijn maar die toch gekocht worden. De mensen hebben soms gewoon simpelweg geen geld voor een goed product en accepteren vaak de beperkingen van het goedkope product.

Misschien wordt de markt voor professionals iets kleiner en moeten we harder concurreren, maar onze waarde blijft. Omdat onze klanten vaak bedrijven zijn, kunnen die op een gegeven moment ook de verborgen kosten van goedkope rotzooi inzien, en zo zal er voor belangrijke bedrijfsprocessen altijd behoefte zijn naar goede software.

Daarnaast moet je ook bedenken dat voor het ontwikkelen van de generatietools ook developers nodig zijn. Daarnaast zijn er steeds meer platformen waarvoor er geprogrammeerd moet worden (denk aan HTPC, mobile, automotive), waarvoor de tools nog niet zo geavanceerd zijn, waardoor er nog zat hardcore codeerwerk nodig zal zijn.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Wat ik trouwens wel steeds meer merk bij de projecten waar ik aan werk is dat ik minder programmeer maar meer configureer. Ik lijm volledige systemen in elkaar op basis van kleinere componenten. Dingen die je anders programmeerde, die configureer je nu. Dat vind ik wel een groot pluspunt omdat je systeem een stuk flexibeler blijft en omdat het een stuk inzichtelijker is.

*gebruikt dus veel Spring*.

[ Voor 4% gewijzigd door Alarmnummer op 20-10-2005 16:14 ]

Pagina: 1