|
JimmyRopes wrote: Yes I do and didn't know the originated in LISP.
You'd be surprised just how many things originated from lisp. Even the ubiquitous if-then-else wasn't in Fortran before it was taken from Lisp, it only became ubiquitous in other languages when it was shown to be so much easier to use than conditional goto-statements. Map functions (i.e. the functional method of iterating over a list/array and modifying each item to produce a list of results) was originally in the oldest of Lisps - generally known as the mapcar function.
Chances are that whatever language you're using, about half of it stemmed from Lisp originally. Lisp was the first language to actually have all of the now "new" concepts incorporated in one package: iterative, imperative, functional, recursive, object oriented, meta (macros), etc. It allows you to mix-n-match any of these interchangeably so you can choose which works the best for the scenario at hand. That is probably why it makes you able to program in other languages a lot better after you've done some Lisp.
Note though, Lisp comes in 3 major dialects: Common, Scheme & "Other". Clojure and NewLisp can be seen as examples of the "Other" type, while they are still Lisps, they don't conform to the strict specifications of Common / Scheme - it would be like a new type of C where it's not conforming to the general principles of C (you could see it like the difference between Java and C#, both look reasonably the same and do the same things, but in slightly different detail).
Scheme is generally used in universities since it's a minimalist language, i.e. only the basics are incorporated into its spec. You're supposed to generate your own libraries or use others' libraries - these are usually not included into the language. Common Lisp is at the other end of the spectrum, it's specification tries to encompass all generally needed libraries and functionality. The Others tend to be a mix or they're built on top of existing libraries.
Here's one thing which opened my eyes quite wide: The creator of IronScheme first started to make an IronLisp (intended to be a Common Lisp on the DotNet VM). He gave up on this because it was too difficult. One aspect (of many) which is very dificult to near impossible to implement in the CLR is Common Lisp's object orientation (known as CLOS - Common Lisp Object System) and especially the MOP (meta object protocol). It simply doesn't translate into something which the CLR can do. Scheme was then chosen, since it doesn't specify an object oriented system, thus the built-in DotNet system can be used.
|
|
|
|
|
I sometimes develop some small applications, data-centric, using VBA and MSAccess.. Say, software for a swimming club (members, competitions, records,....), ... about 10 tables plus the lookup table, multilange, data oriented, almonst no graphics (pictures of people, maps for locating the clubs for next competitions, tables of results,... ). Modest volumes, clubs with 1000 members as a maximum
Now it is time to turn to a moden environment: I think VBA is stuck in the same flavour as 15 years ago, so .NET should be the target
Database_ SQL-Server Express or MySQl
Problem comes with language: C# o VB? I prefer VB because I am more familiar, and (at least some years ago), there were only 15% performance increase in favour of C#, which was absolutely irrelevant for me. No idea of what is the point today. Both languages are just instruments to manage the underlying .NET framework
Visual Studio Express (Windows 8.1) comes in 5 formats: Web, Windows, Windows Desktop, Team Foundation and Windows Phone
No idea what to get: my software will be used by few people (from 1 to 10 as a maximum), in the premises of the swimming club (so, no web....),.... but,.... everyone things today in checking things from a web browser (last results of a given swimmer, payment status of a given member, dates for next competitions,...), ... or even from an Android....
I remember Windows Forms allowed more "complex" forms (in terms of data interation), some years ago...
Additionally, if I develop the sw in 3-tier, theoretically changing the display tier would allow to move to another platform, which forces me to use Web Services or another current technology to communication between tiers.... so, more complexity for a simple, basic application...
Any hints on that please? I would like a rapid development, but I wouldn't like hearing potential clubs saying this is an "old" application because it is not web-based...
thanks
|
|
|
|
|
C#, Asp.net MVC with SQLExpress backend will serve you well. There is also good video tutorials on the Asp.net website.http://www.asp.net/mvc[^] (I used them a lot when first started using this stack).
Alternatively you could go down the Javascript route, using Node.js+Express+MongoDB but probably more of a steeper learning curve.
I would go with #1 to start with.
|
|
|
|
|
I would like to recommend to learn SPA (Single Page Application) with AngularJS.SPA is the latest trend in dev world these days.Good Luck !
Some useful links for you.
angularjs
johnpapa
|
|
|
|
|
SQL Server Express or SQL Server CE.
VB.net is OK if you do it right, otherwise C#.
Visual Studio Express has served me well.
Or, if you take a class in C#, look into DreamSpark to get Visual Studio Professional.
This space intentionally left blank.
|
|
|
|
|
C# isn't too hard to get used to if you have any familiarity with VB.NET. I am a long time VB6 VBA C/C++ programmer and I found I prefer C# these days for applications. It requires a little more discipline than VB but that actually results in more robust software.
It was broke, so I fixed it.
|
|
|
|
|
stp66 wrote: I wouldn't like hearing potential clubs saying this is an "old" application because it is not web-based... Simples; don't go to that club.
Anyone posting those statements should not be taken seriously. That's regardless of position
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I And don't join clubs that would have you as a member.
Edit: Shoot, I didn't mean "I". That changed the whole meaning of the sentence. Sorry.
This space intentionally left blank.
modified 1-Feb-14 14:37pm.
|
|
|
|
|
PIEBALDconsult wrote: I don't join clubs that would have you as a member. I think those clubs might be illegal where you live.
Would you waste time on someone who is shouting he doesn't know what he's doing? Worse, waste time educating someone whose job it is to know the difference?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Eddy Vluggen wrote: might be illegal where you live
Nah, this is the wild wild west. Even Roger is welcome here.
This space intentionally left blank.
|
|
|
|
|
I came via the VBA route and here is my advice for what it's worth.
Start with VB - give yourself a month of programming with VB just to get a sense of the .NET framework and the IDE.
Then dive into C#, learning C# will make it easier to drop any bad programming habits you gained through programming in VBA(...and I had loads of them).
C# has an elegance to it that makes programming a delight
(in my work I program with both VB and C#)
Here's a nice easy intro to VB clickety[^] - it covers the really basic .NET stuff and may be overly simple but it's what kick-started my .NET career.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
modified 1-Feb-14 15:37pm.
|
|
|
|
|
Another point for the c# route is that the majority of learning resources are in c#.
I would look at the asp mvc path, I travelled the Silverlight route and it is now dead so be aware the latest trend may be short lived.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
|
Sounds to me like web is the way to go, and as you're on PC I'd take a look at Micro$oft Expre$$ion Web 4. It handles pretty much everything, has drag and drop for the interface / UI stuff and a reasonably sensible editor for all that 'backend' melarchy. Oh, and it's free...
As for what that melarchy should smell like, I'd go with what you know every time. If you were looking to take this web thing seriously though (rather than getting a proper job) I'd say give PHP a whirl. It's a C-like language (in as much as it looks vaguely like C source from a distance. If you squint. Through a sock.), it's widely used, works hand in hand with MySQL, is extensively supported, documented and ridiculed (unfairly IMHO), it's alarmingly forgiving and the whole caboodle is free, end to end.
You'd need a bit of javascript on the client to tie the UI to the cleaver stuff on the server, but that really is noddy stuff.
Can't believe I just recommended a Micro$oft product there... Must be getting old .
Danny
|
|
|
|
|
Anything about modelling your app first? i.e. MVC (Model View Controller) paradigm. and there are others. Generally speaking: if you master that your view can get changed without touching the other two layers, then you profed already to be a professional. And nobody will say: "it's an old apps". because most do not understand or are able to valuate just the MVC paradigm. Also such things in mind makes chosing the language (dialect) more unimportant. Knowing your architecture of your apps helps you in many situation to prevent fatal errors or choose the proper i.e. IDE. my 2 cents. Josef
|
|
|
|
|
Doesn't look like you got a lot of answers to the real underlying question there...
Which development environment?
Visual Studio is arguably the best (I would argue that it is), especially for the MS stack.
The varieties that you noted are "Web", "Windows", "Desktop", "Phone", "TFS".
"Windows" is only for "Modern Apps" on Windows 8+.
"Phone" is only for Windows phone apps.
"Web" only for web apps (like ASP .Net) or services.
"Windows Desktop" is for WinForms or WPF with C# or VB (you can also create Win32 apps as well but I doubt that's what you want).
"TFS" is actually not Visual Studio it is Team Foundation Server which is a Source Control solution which also integrates bug tracking, collaboration and planning tools amongst others. It isn't an IDE so shouldn't be on your list. However you SHOULD use it (even as a single dev) but I would look at VS Online for that because it provides free online source control for up to 5 users and is excellent.
From the sound of things you should install Express 2013 for Windows Desktop. You could also install "Web" in case you do decide to try making web applications. However you can just as easily use Web Matrix for that if you are only doing simple development and it has a much smaller learning curve.
You also specified Database access. And you could continue to use Access for all of that but to be honest SQL Server CE or MySQL are just as simple to use and far better so I would go with one of them. Not full MSSQL server for these small applications unless you don't mind the hassle of installing and providing support for your users who will have no idea how to use it.
As to which language? That is pure opinion but I think the fundamentals of programming apply to any language and learning what is required for making a swimming pool club frontend is very little. Do yourself a favour and learn C# then later when you choose to expand yourself you will find it much easier.
Winforms will probably be familiar enough to start with but I highly advise you pick up WPF along the way. You will like it I promise.
Also don't listen to people who say "Yay for Web Apps"... everyone does not want them! I would take a fluid, responsive native app over a web app every time. And for your purposes the "Users" are swimming clubs and are unlikely to want to host and maintain any web apps themselves. Until someone asks you to do that of course... but that is the time you should start learning about web
Hope that helps you out.
|
|
|
|
|
I've used VB6 for many years (at one time I was teaching it), but I recommend C#.NET. VB.NET is a mess as far as I am concerned.
Basically you will be talking to the same objects, but C# is much more concise.
int i = 0;
versus
dim i as integer = 0
Some of the VB.NET constructions are just toturous.
However I will admit a fondness of FOR/NEXT/STEP over C's construction of (init something; test something; increment something) which requires discipline to follow and I've encountered too many programmers who thought themselves too clever by far and abused it.
Psychosis at 10
Film at 11
Those who do not remember the past, are doomed to repeat it.
Those who do not remember the past, cannot build upon it.
|
|
|
|
|
With your description, I would go for VB.NET, then learn C#, use SQL Server Compact 4 as the database and perhaps look at the MVC pattern, you may even use WPF with XAML and it's databinding properties is you want to be able to quickly switch front ends.
|
|
|
|
|
It's certainly up to you but I have boilerplated an environment that has (and continues) to work well.
1) Windows 7
2) Visual Studio 2008 Standard
3) Active Reports 6
4) Sandcastle help system
5) SQL Server 2008R2 "Express"
6) CodeSmart for Visual Studio (I think the 2009 edition).
7) A few miscellaneous utilities like icon editors, etc.
With that set up I can develop to desktop or web. (I still find web development to be really labor intensive and not nearly as rich as the desktop is). I have bought a custom control or two (or written my own) to replace ones in Microsoft's default stack. I have also a general library that I have developed (and is constantly being extended) that I use in my projects. I try to keep the third party things to a minimum and deliver my applications as "click once" deliverables.
There are a lot of developers out there that are chasing the "bleeding edge" by getting new technology all the time. OK, that's fine but my approach was to assemble a set of mature tools, lock them down and quit tweaking it. Instead of playing with the tools I can get real work done and develop massive competency in my tool set. I feel like the technology has started reaching a real plateau and this tool set can target several billion machines (including Win8, etc.). Besides, when was the last time you had a client that even CARED what your tool set was? They're interested in a solution, that's all. They don't give a rip if you craft the thing with an axe just as long as the thing gets done!
Don't let anyone talk you into believing that writing to the desktop is in some way obsolete. Most users I run into in the field just want solutions that work and the desktop is a really rich platform on which to do that. SQL Server Express? Fantastic solution. DB's can be as much as 10GB. Unless you're writing really HUGE enterprise level stuff it's really top-drawer.
I just finished developing a system that automates the membership needs of a local farm cooperative, and they absolutely love it. It's saved them countless hours. The kiosk portion runs on a small machine (still desktop) that users can check in while the owner can get reports and stuff from her laptop. She's in clover. Sounds like the kind of stuff you're working on.
|
|
|
|
|
Qt5, cross platform, does what it says on the tin. Lets you create code.
The Qt Creator IDE is just simply ace. Mac, Windows, Linux and almost mobile...
|
|
|
|
|
Quote: "An addicted customer is a customer for life,No matter how short that life is"
Any Guesses ?
|
|
|
|
|
Bacon.
Or Win 8.
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
Nope.
|
|
|
|
|
Sexual attraction to steamrollers?
Licking leper pus? (Seriously, don't google this - or if you do, don't follow any of the links. There are weird people in this world.)
Drinking and driving?
Installing Bloatus Goats?
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952)
Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
|
|
|
|
|
You are very close.But non of the above.
This is a consumer product.Which consumes by both Males and Females.
modified 1-Feb-14 8:05am.
|
|
|
|
|