Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

matt-h

macrumors newbie
Original poster
Sep 8, 2009
5
0
Hi all,

I am a little stuck at what would seem like the first hurdle to writing a program on my mac.

I am proficient at programming C and VBA but have never had to choose a platform / language for myself before; all my previous work coding has been performed on an existing system either at work or during my degree... (given that I am an engineer not a programmer I have never had to do the ground work).

I digress. Essentially what I'm trying to do is write an app which will open a .csv file full of my bank transactions and write the entries into a database. I want to be able to then list the entries within the database and either manually or automatically (i.e. with some logic) assign each entry a tag (e.g. 'fuel payment' 'rent payment' 'shopping' e.t.c). Then I want to be able to write a front end to the database which can sort for the aforementioned tags and display them in a dashboard so I can see where all my money is going!!!

I am aware there are apps already existing for this but... 1) I am extremely sceptical about putting anything which could be used against me into an app 2) they usually cost something and I see no reason to pay someone for something I could do myself.

Excel and VBA is something I am familiar with and I have a fairly good idea of how I would go about this but the program is fairly clunky and not very neat (not to mention I'm not learning anything new by doing it that way).

Thanks in advance.
Matt
 
Define the problem space more clearly first.

Problem: You already have an Excel/VBA method to do this, but its not pretty enough?

Solution: Find an existing dedicated Expenses app (or Database-derived "app") that is pretty.

That would be more efficient than building a new app with virtually no experience at all. Yes they cost money (mostly), but you don't work for free do you so why should someone else who makes things work for free?

Your data is on your Mac in the app's storage files, unless you use a remote or Cloud-based expenses app. And, really, if you are concerned about your transactions you are already pretty far gone using any bank, credit or debit card, non-cash transactions of any kind. Try BitCoin or some crypto-currency. I hear there are literally dozens of places around the world that accept BitCoin now.

If you want to learn programming start smaller and build a simple app that ingests a CSV file and prints it in a new text window with some tabular formatting. Expand from there. I don't think many people go from zero to TurboTax in one step.
 
I agree with WarDialer. Let's say you spend 100 hours on it ( this is really a joke, 100 hours is just a single hard week for a coder, we typically will roll with a hard month right before going golden ). 100 hours even at 1$ an hour is, well about $100 bucks. Many applications can be purchased that will do exactly what you want for $100 bucks or less.

Scenario:
You want to brush up on your skills or expand them. Excellent. I recommend starting with something like Atom Electron:
https://electron.atom.io/

100 hours can get you something working. It will not be pretty, nor handle any but the most simple workflows, but there you have it!

1000 hours and you could even have something workable. Possibly close to 'going gold' yourself.

2000 hours and you will have most of the bugs crushed and workflows figured out. Heck, it will probably even look fancy.

PS. I mostly use Swift to code on the Mac now.
 
Excel is the best spreadsheet program (sorry Numbers, not even close). You can import all kinds of data, in different formats, csv being just one example. You can analyze the data to your hearts content. But a spreadsheet is NOT an accounting app by any stretch of the imagination. I'm a CPA, I know. Buy a program like Quicken, or even Mint. if you want a good personal finance program. A real accounting system would be Great Plains Dynamics, SAP, Oracle to name a few, which of course are very $$$$ and only for use by bigger companies to huge NYSE publicly traded companies.
[doublepost=1502539825][/doublepost]Excel is the best spreadsheet program (sorry Numbers, not even close). You can import all kinds of data, in different formats, csv being just one example. You can analyze the data to your hearts content. But a spreadsheet is NOT an accounting app by any stretch of the imagination. I'm a CPA, I know. Buy a program like Quicken, or even Mint. if you want a good personal finance program. A real accounting system would be Great Plains Dynamics, SAP, Oracle to name a few, which of course are very $$$$ and only for use by bigger companies to huge NYSE publicly traded companies.
 
Cheers all. Sorry, but as WarDialer said I should more accurately define the problem first:

I can code within the platforms that I currently know VBA, C, MatLab e.t.c and they serve a purpose for an engineer (raw input to calculated output).

I understand how to program logic. I am aware of a few basic languages and but can quite easily read/ use google to learn others. I am more than proficient with elementary maths. What I have never done is package something into a neat UI. In essence what I want is to turn my VBA creation into an app.

How do people go about doing this on a mac? (the current extent of my knowledge is to either use 'Wine' to compile and run C programs or open Excel to use VBA).

In essence what I want to know is in lieu of someone dictating that my university project should use 'Wine' to create a C program or that my company already has sections of code written in Excel VBA how do programmers go about choosing what platform to use when creating apps. As I suggested previously I'm in no rush to create specifically an accounting app; that was just the type of program I want to create and hence I assumed that it would have a bearing on the platform/ language that I choose to use.

I understand that this might sound confusing/ vague/ muddled but that really is because I feel that I've almost missed a step in my programming education here... give me a window to write into and show me which button makes it compile and run I can do it. As to how I go about choosing which window and where the button is I haven't got a clue so anything you can explain is closer to a fuller understanding!

Thanks in advance.

P.s. electron.atom.io looks interesting and I will give it a look tomorrow lunch. :)
 
"Wine" is a Windows emulation layer (unless there is something else by that name), so I'm not sure what you want to do here.

Write a Windows program that uses Excel/VBA as backend?
Write a OSX program that uses the Mac version of Excel?
Write a proper OSX program that manages, stores and displays the date on it's own?
 
hi, matt-h

Have you looked at open source software? If you are a programmer, maybe you can contribute to the development of the software by just adding the features you want. That way, you would not have to build a whole new app.

I have been using GNUCash for my personal finances and consulting business since 2007. I believe it's written in C. I believe a database can be used as the backend. From what I understand, that piece needs some work to make it work, however.

I went open source because like you, I just do not trust anyone to have all my financial transactions. If they want it, they need to work for it at least. I also went open source because I did not like the way Quicken was going. I tried another software for little while, but then it was discontinued soon after.

BTW, they have created an android app where transactions are entered, and later synced with the desktop install. If you decide to help them, I'd be happy to give a reward for porting that to iOS. :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.