Saturday, March 31, 2012

There has to be a better way to develop web applications.

I have been reading this thread with some interest but also noting that in
the context being discussed all of the arguements are on technology and not
on how to use the technology to increase productivity and to provide value t
o
our customers. Maybe that sounds strange to some of u, but as a MS Architec
t
I know this to be true and I've seen it on so many projects.
It's is my experience, 25+ yrs, that most developers will continue to
re-invent the wheel for each project. Remember, 'I don't know why he did
that but I can do it much better'. The oft used word 'reuse' is generally
thought to be reusing business objects, but I suggest the benfits of reuse
are really felt in reusing code bases and coding patterns, they are
repeatable therefore prompting reuse.
No and I mean no technology or application development will be productive
without interaction with the customer, understanding what they are asking fo
r
and having them validate your design and implementation. The best thing a
developer can do to increase productivity, technology independent, is a good
design that is validated against use cases. I'm of the opinion that with
OOA/OOD you need to perform a 'standard' OOD then implement that design. It
will make the engineer more productive!!
What does this have to do with the technology discussion we have here? Many
of the issues that have been discussed can be overcome with design goals. I
n
other words, the design will determine which technology and how it is to be
developed.
Additionally, I have been developing, specifically, with MS technologies
since late 80s. At that time I came from the mainframe era and with the
coming of events, properties and object orientation I knew that a revolution
in development was on the horizon and still is with the advent of Object
oriented technologies. The speed with which development can occur has
increased many fold. In 2000 I designed and led the development of a 3M
project, for over 20K pensioners and their families paying out over 345M for
over two yrs. I did this with 5 developers and 4 SMEs; I would sure like to
see you do this with Java platform.
Despite what some has said on this post, .Net platform creation was not
developed based on Java, remember Java is a language not a platform. The JV
M
and Java application servers are the platform. If you want to argue the
benefits of one language vs another I don't think you do that in the context
of the platform. if you will look at the
distributed architecture for both platforms you will discover how different
these two platforms are.
As was said, somewhere above, unless you get rid of W3, html, etc. aren't
going away and that is a good thing, no one company controls the standards.
Learning curve; .Net supports multiple languages not because of portability,
as was mentioned, but for reduced training costs to move into object oriente
d
programming. Do you think it is more expensive to teach a cobol developer t
o
code C# or have the cobol developer us the .Net version of cobol? This make
s
a better case for this platform rather than a platform that locks a develope
r
into one language, now that is control; anyway portability in Java is a
misnomer. Every platform u go to has a different JVM and different
application server, all of these require complier changes to run on that
platform and some designs changes
Since I was using VB6 in an object oriented way my trip to dotnet wasn't a
huge learning curve, I already understood object orientation and how to use
it. Example, use callback in VB6 and use delegates with events in .Net to
have callback capability, Remoting replaced DCOM, is that a bad thing, no it
is not, it did improve on the way DCOM worked, primarily allowing remote
communication thru a firewall.
As of this writing I can't think of very many things that I can't do with
.Net whether or not it is C# (or come other language), asp.net, etc. .Net
gives me access to windows APIs which means I can do anything the windows
server will allow me to do.
I'm sorry but imho, this thread is much to do about nothing; with the
exception that it allows the religous among us to prostalize about our
beliefs of which languages are better. Engineers should worry how do I appl
y
the technology rather than the state of the development world. It is like
abortion, everyone has their opinion so we never come to completion or
agreement.
Regarding productivity in VS: I use two add-ins to add additional
functionality to VS that is useful and adds to VS' already awesome IDE. The
first is from JetBrains and is called ReSharper and their profiler, sorry bu
t
I don't remember that name. the other product has to do with my architectua
l
duties (design) and it is visual-paradigm's SDE, software development
environment. It allows me to do a complete OOA/OOD and have it generate
code, even code with implementation in it. You can reverse engineer to keep
your model uptodate and you can regenerate and not impact your
implementation. This capability gives a developer the capability to keep
technical specs uptodate with code.
Regarding the '90' languages on a resume. I'm one of those who has multiple
languages on his resume and it is not that I have used many languages but
demostrates to the interviewer that I can go into many environments and pick
up and understand what is going easier than those who haven 't experienced
such varied environments. It is not a matter of numbers, maybe I have been
interviewing more than most of you, after all I'm a consultant, but this inf
o
is very valuable in getting interviews.
"Christopher Hansen" wrote:
> The problem is multi-faceted. Disparate technology platforms, the hunger f
or
> companies to have loyal followers( read: internal champions and customers)
,
> the changing nature of technology in general.
> The problem with the concept of RAD is that, frankly, it's never happened.
> By that I mean, RAD dictates that your engineers, developers, architects,
> implementation and support people are already a well-oiled machine. If thi
s
> is the case, then you don't necessarily need to standardize on any single
> vendor platform - it could be anything. But practically speaking, Microsof
t
> seems to have a major foothold in the server / web development marketplac
e
> by virture of the fact that IIS 6.0 comes bundled for free with WS03.
> Another obesrvation in terms of the technological learning / use curve is
> that RARELY does a program manager / client / project have a clear and
> concise framework around what THEY want to achieve. How many times have I
> heard "I'd like a Button that I can click...(that will essentially run my
> super-complex business/role). That's certainly contributes to
> cross-pollenating across 15 different technology iterations. IT profession
als
> use whatever is in the toolbox to get the job done. More often than not, b
y
> design, the products (even freebies) are inter-related and dependent. This
is
> done to drive business. If you think tht this is all just R&D - think agai
n.
> We (sic.) are being led in a very specific direction, one bite at a time.
> Companies are the ones that are forced to absorb the "hit"; the actual peo
ple
> who suffer are the IT professionals who see the pervasive interpretation o
f
> the business community at large of their roles as hemmoraging expenses and
> disfunctional agents of change. This is precisely why some 50% of the
> business community was still using WIndows NT 4.0 as of 2 years ago.
> Software comapnies (and hence developers) need to slow down and put out
> something that has some serious meat to it - and stick with it. I mean a
> finished product. Good examples of this busines model can be found with Ad
obe
> and Macromedia - both of whom are th only companies I see as having pushed
> finsihed products suites. You'll notice, as a result, that they don't have
a
> new version every 18 months. What they have currently rocks, needs little
> tweakage, and it essentially a customizable, scalable platform (ColdFusion
/
> J2EE anyone'). This are highly under-rated technologies, imo.
> If the development community as a whole demands that their be business val
ue
> in requiring our time to absorb/use/champion the use of new technologies,
> then it will require software manufacturers to make better products - and
> hence, stop wasting our time (as in the original poster's commentary). If
> we're all going the "g" path of the newest, latest, greatest "toys" on
the
> block (e,g, software, tools, etc.) then there's no substantial reason for
> software manufacturers to hold to the aforementioned model. I put the owne
ss
> back on us as developers and champions of our individual talents and tools
.
>
> "RCS" wrote:
>Thanks for continuing the discussing, but I think you have gone down a rabbi
t
hole. Let me explain.
your 1) This is not something new, in my 25 yrs of IT work this challenge
is part of every decission to build or purchase and requires the same
attention as any analysis on projects direction. Consequently, I'm not
exactly sure how this applies to our discussion.
your 2) I don't disagree with your opinion however, it would be the
exception rather than the rule. Changing technologies or bringing in
competing technologies can have a very negative on the delivery of business
systems. In other words many large enterprises have or will make their
technology decisions not so much on technology but on the costs of
re-training and support costs for additional technologies. These costs are
not in-significant.
your 3) Sorry but I'm not sure the point you are trying to make here. This
has been apart of of enterprise architecture for many years.
your 4) This isn't anything new an architect is always making decissions
with these points in mind. The type of technology used doesn't have an
impact, the design and the implementation has much more impact.
your 5) See 4 above.
"j-integra_support@.intrinsyc.com" wrote:

> Some related thoughts:
> 1) It is simply not cost effective for any company to "start from
> scratch" and rebuild everything with the latest and greatest
> language/platform.
> 2) All technologies have their own strengths and weaknesses. To limit
> yourself to one language/platform or another does not make good
> business sense. Choose the technology based on your requirements.
> 3) With that said, interoperability has/will become an issue for all
> businesses. Having an interoperability plan is key!
> 4) Web Services is the latest approach to interoperability, but it is
> proving (like all technology) to have strengths and weaknesses.
> 5) What do you do when Web Services proves to be much too slow for your
> requirements? What if your development team has no experience working
> with WS and you have tight deadlines to meet? This is where other
> interoperability approaches are needed, preferably ones that are easy
> to implement and optimize performance. The following whitepaper
> discusses your options for interoperability...
> http://j-integra.intrinsyc.com/pdfs...per_interop.pdf
> Shane Sauer
> J-Integra Interoperability Solutions
> http://j-integra.intrinsyc.com/
> When Web Services are not enough
>

0 comments:

Post a Comment