Right tool for the job
-
I wasn't 100% sure that this was the right board to post this question in but my application is going to be in C# so thought this was the best fit. I am creating a simple lightweight app that I intend to use to keep track of the bugs I find in my bigger projects. I am a newish developer and I want to learn a bit of C# and thought this would be a useful (to me at anyrate) app to have and a good learning tool. Now I was intending just to attach an access database to the program to store each bug record. As its just for personal use and its only supposed to be a a small utility I thought this would be safe and easiest to do without having to bother with downloading and installing a mysql database and all the rest of that kind of hassle, plus I can just take a copy of the database onto which ever machine I go to and the computer with the database server running on doesn't need to be always on. I don't do much database programming and so can't see that it is worth the effort on my part. However a friend of mine has poo-pooed the idea and is on at me now about how stupid an idea it is to use access as its 'not a real database' and I should be using mysql or at the very least sqlexpress. I am fairly ok at SQL having used it for a number of jobs and would have no probs using it as part of the application if I thought it was neccassary, but I just don't think it is...what does anyone else think? Should I just bite the bullet and download mysql or is using access 'babyish' and 'not worthy of a developer' as my friend puts it? was actually a little offended by his attitude tbh and wish I hadn't told him what I was doing but c'est la vie! Cheers Cads
-
I wasn't 100% sure that this was the right board to post this question in but my application is going to be in C# so thought this was the best fit. I am creating a simple lightweight app that I intend to use to keep track of the bugs I find in my bigger projects. I am a newish developer and I want to learn a bit of C# and thought this would be a useful (to me at anyrate) app to have and a good learning tool. Now I was intending just to attach an access database to the program to store each bug record. As its just for personal use and its only supposed to be a a small utility I thought this would be safe and easiest to do without having to bother with downloading and installing a mysql database and all the rest of that kind of hassle, plus I can just take a copy of the database onto which ever machine I go to and the computer with the database server running on doesn't need to be always on. I don't do much database programming and so can't see that it is worth the effort on my part. However a friend of mine has poo-pooed the idea and is on at me now about how stupid an idea it is to use access as its 'not a real database' and I should be using mysql or at the very least sqlexpress. I am fairly ok at SQL having used it for a number of jobs and would have no probs using it as part of the application if I thought it was neccassary, but I just don't think it is...what does anyone else think? Should I just bite the bullet and download mysql or is using access 'babyish' and 'not worthy of a developer' as my friend puts it? was actually a little offended by his attitude tbh and wish I hadn't told him what I was doing but c'est la vie! Cheers Cads
SQL Server Express is a better choice than MySQL, IMO, because C# has classes to take advantage of it's features. Having said that, I'd agree that Access is a good choice for a single user application, for exactly the reasons you stated. I'd never use it, simply because any machine I use has SS2005 installed on it. But, if I was in your shoes, I'd consider it the 'right tool for the job', as you've said. Your friend sounds like an elitist snob. Access is still alive because it does indeed fit in some situations.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
I wasn't 100% sure that this was the right board to post this question in but my application is going to be in C# so thought this was the best fit. I am creating a simple lightweight app that I intend to use to keep track of the bugs I find in my bigger projects. I am a newish developer and I want to learn a bit of C# and thought this would be a useful (to me at anyrate) app to have and a good learning tool. Now I was intending just to attach an access database to the program to store each bug record. As its just for personal use and its only supposed to be a a small utility I thought this would be safe and easiest to do without having to bother with downloading and installing a mysql database and all the rest of that kind of hassle, plus I can just take a copy of the database onto which ever machine I go to and the computer with the database server running on doesn't need to be always on. I don't do much database programming and so can't see that it is worth the effort on my part. However a friend of mine has poo-pooed the idea and is on at me now about how stupid an idea it is to use access as its 'not a real database' and I should be using mysql or at the very least sqlexpress. I am fairly ok at SQL having used it for a number of jobs and would have no probs using it as part of the application if I thought it was neccassary, but I just don't think it is...what does anyone else think? Should I just bite the bullet and download mysql or is using access 'babyish' and 'not worthy of a developer' as my friend puts it? was actually a little offended by his attitude tbh and wish I hadn't told him what I was doing but c'est la vie! Cheers Cads
I think you need to ditch your friend for being unhelpful. As Christian has pointed out, Access is perfectly fine for tasks like this - more importantly, you can upgrade to SQL Server from it as and when you decide you need to.
Deja View - the feeling that you've seen this post before.
-
I wasn't 100% sure that this was the right board to post this question in but my application is going to be in C# so thought this was the best fit. I am creating a simple lightweight app that I intend to use to keep track of the bugs I find in my bigger projects. I am a newish developer and I want to learn a bit of C# and thought this would be a useful (to me at anyrate) app to have and a good learning tool. Now I was intending just to attach an access database to the program to store each bug record. As its just for personal use and its only supposed to be a a small utility I thought this would be safe and easiest to do without having to bother with downloading and installing a mysql database and all the rest of that kind of hassle, plus I can just take a copy of the database onto which ever machine I go to and the computer with the database server running on doesn't need to be always on. I don't do much database programming and so can't see that it is worth the effort on my part. However a friend of mine has poo-pooed the idea and is on at me now about how stupid an idea it is to use access as its 'not a real database' and I should be using mysql or at the very least sqlexpress. I am fairly ok at SQL having used it for a number of jobs and would have no probs using it as part of the application if I thought it was neccassary, but I just don't think it is...what does anyone else think? Should I just bite the bullet and download mysql or is using access 'babyish' and 'not worthy of a developer' as my friend puts it? was actually a little offended by his attitude tbh and wish I hadn't told him what I was doing but c'est la vie! Cheers Cads
For all the reason Cristian said - you go ahead and make whatever decision you feel happy with - this is after all just a learning excercise for you! However, consider this; Say you start using your bugtracking app as single user with an access database installed right there with the application itself, and somebody else wants to be able to add/edit/view bugs. Now do you: a) Install him as another single-user with its own database. Beraing in mind you now have 2 databases filled with bugs. (Add another imaginary 100 users... it starts getting very fragmented) b) Rewrite the app to use a centralised database and install both users (plus the 100 more) on the new app. Anyway, im just pointing out some things to think about. As a learning exercise you might want to look into "Data Abstraction" which basically means that you build your app to be database agnostic and when the time comes to upscale from Access to SQLServer or SQLExpress or Oracle or whatever its as simple as a reconfiguration (rather than a recode).
-
I think you need to ditch your friend for being unhelpful. As Christian has pointed out, Access is perfectly fine for tasks like this - more importantly, you can upgrade to SQL Server from it as and when you decide you need to.
Deja View - the feeling that you've seen this post before.
Thats what I thought, when I was planning it out. He got all snippy about the idea tho :) Its for me alone anyway so I guess I shouldn't really care whether he approves or not anyway! :) Cheers Guys Cads
-
For all the reason Cristian said - you go ahead and make whatever decision you feel happy with - this is after all just a learning excercise for you! However, consider this; Say you start using your bugtracking app as single user with an access database installed right there with the application itself, and somebody else wants to be able to add/edit/view bugs. Now do you: a) Install him as another single-user with its own database. Beraing in mind you now have 2 databases filled with bugs. (Add another imaginary 100 users... it starts getting very fragmented) b) Rewrite the app to use a centralised database and install both users (plus the 100 more) on the new app. Anyway, im just pointing out some things to think about. As a learning exercise you might want to look into "Data Abstraction" which basically means that you build your app to be database agnostic and when the time comes to upscale from Access to SQLServer or SQLExpress or Oracle or whatever its as simple as a reconfiguration (rather than a recode).
Thats really not a bad idea that. Hmmm I didn't really consider doing something like that but it may prove useful to know how to do it in the future. It might not as well, but it wouldn't hurt to know would it? :D Will have a browse around t'net and try and get me some knowledge then, any articles you would reccomend I read? I like the phrase "database agnostic" dunno why just had me chortling :D
-
Thats really not a bad idea that. Hmmm I didn't really consider doing something like that but it may prove useful to know how to do it in the future. It might not as well, but it wouldn't hurt to know would it? :D Will have a browse around t'net and try and get me some knowledge then, any articles you would reccomend I read? I like the phrase "database agnostic" dunno why just had me chortling :D
Basically, any application that accesses a database, should seperate that database access to a seperate dll. you replace your data layer by changing the data source that dll uses, while maintaining the same public interface, so the new dll just plugs back into the old code base. In practice, I've always done this, and never had to rewrite an app to use a different data source, but it has other advantages, not least, is that if you don't use stored procs, your SQL is centralised in your code at least, making it less likely that you'll write more than one piece of code to perform the same SQL. It also lends itself to having a single connecton string that is reused by all your data base code.
Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
-
I wasn't 100% sure that this was the right board to post this question in but my application is going to be in C# so thought this was the best fit. I am creating a simple lightweight app that I intend to use to keep track of the bugs I find in my bigger projects. I am a newish developer and I want to learn a bit of C# and thought this would be a useful (to me at anyrate) app to have and a good learning tool. Now I was intending just to attach an access database to the program to store each bug record. As its just for personal use and its only supposed to be a a small utility I thought this would be safe and easiest to do without having to bother with downloading and installing a mysql database and all the rest of that kind of hassle, plus I can just take a copy of the database onto which ever machine I go to and the computer with the database server running on doesn't need to be always on. I don't do much database programming and so can't see that it is worth the effort on my part. However a friend of mine has poo-pooed the idea and is on at me now about how stupid an idea it is to use access as its 'not a real database' and I should be using mysql or at the very least sqlexpress. I am fairly ok at SQL having used it for a number of jobs and would have no probs using it as part of the application if I thought it was neccassary, but I just don't think it is...what does anyone else think? Should I just bite the bullet and download mysql or is using access 'babyish' and 'not worthy of a developer' as my friend puts it? was actually a little offended by his attitude tbh and wish I hadn't told him what I was doing but c'est la vie! Cheers Cads
Hi Cads, Don't let anyone tell you what to do or use in all aspects of life, and programming in particular.Just do or use what works for you. You can't telkl from the frontend what you're using. Hell, I wrote programs that use an excelsheet to store my data. Saves a lot of hassle. Just use access. It's a very good database ( well, it is classed as a database ) for storing simple values. I would only recommend a more professional database if you're planning on storing Megs and Megs of data and use complicated stored procedures. This isn't the case in your application so go for access. Another pro of using access is that it's just one file, where SQL or any other DB for that matter has to be installed, instances created, etc.etc. Lots of headaches and not user friendly. Stick with access.