d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Which Programming Languages Should I Be Learning?
Add Reply New Topic New Poll
Member
Posts: 35,075
Joined: Jul 26 2006
Gold: 125.00
Jul 23 2017 04:29pm
Dejavu: I've asked this before. This time I'm a bit more serious.

A couple months back I took up Visual Basic. I didn't learn too much, but I got a feel for it. Prior to that, I learned C++ about ~8 years ago, though my ability level is not past that of a 1st year uni student.

What I am doing:

I'm a full-time accountant (junior) & accounting student. The first thing I've learned is that every piece of software that exists has serious issues. Some of the issues could EASILY be fixed, and improve workflow by over 50% on certain jobs. Some of the issues are more complex, but with proper accounting knowledge, logic-based programs could be developed to automate certain tasks.

An example of a task which could be automated:
A client sends in their year end financials. Their program (Quickbooks) changed the names and account numbers of certain accounts. For example "2007 GMC Truck - #SN 1111" might be attached to account #1701. The depreciation might be in account #1701.1. But, in the previous year, the title may have been "GMC Truck - 2007", and the account # might've been #1702. The client may also have removed 5 accounts (disposed of assets/etc), and added 7 accounts. In order to remap all the accounts in Caseware (the accounting software used on the accounting side of things), there's a fair bit of manual work. I have to double-check to make sure which account should be which, I have to remap within Caseware to make sure the assets are classified as "long-term capital property", etc. A quick program could pull prior year data, current year data, and auto detect which accounts have changed, and what their current account number is (or notify which accounts are likely to have changed, and to what they likely are now). The program would also check client-side mapping and general journal entry activities to ensure the treatment of the account during the fiscal year was consistent with prior years. So on and so forth. Then, I could create a copy-pasteable Excel style trial balance, which could be inserted into Caseware, that matches Caseware's mapping, after cross-referencing their mapping.

There's lots of other tasks which I'd like to automate, that's just a snippet of one. Another example would be creating a reconciliation checker. Often times, the client's reconciliation of their books isn't correct. An example is a bank-side reconciliation. The client will keep Quickbooks records, but they'll also have a second set of records, and they'll have their bank statements. Things won't necessarily line up. Often times you have to hunt through their transaction records to find that $10,000 didn't go to cash, it went to prepaid expenses, and their books cash balance was off because of that. It's not that simple though, it's usually 32 different split transactions that were done wrong. I want to pull that data and analyse it, using some predefined logic that I'd use in real life anyways (very much a tiered mountain of if-then-else and loops).

I'm wondering: I'm still picking away at Visual Basic. My brother has introduced me to a pre-built open source database program which I'll be using. But what other programming language should I be looking at? I specifically want to pull data from other programs (through export, not real-time), store the data in the database program, and then process the data. I want to develop a central program that I can build up from. The idea is that it doesn't network, it's just on one computer at a time.

This post was edited by Canadian_Man on Jul 23 2017 04:33pm
Member
Posts: 36,123
Joined: Jul 18 2008
Gold: 2,407.00
Jul 23 2017 05:38pm
Python. Python has excellent support for this kind of data manipulation with their pandas library as well as database libraries. Honestly, for most things someone would want to do, Python is the way to go. Very few situations for common workflow problems require the speed of C/C++. The easy of development of Python and its extensive libraries make it very great for these kinds of things.
Member
Posts: 16,621
Joined: Jan 7 2017
Gold: 90.58
Jul 23 2017 05:45pm
stop right now with vb and do what mastersam93 said
Member
Posts: 35,075
Joined: Jul 26 2006
Gold: 125.00
Jul 23 2017 08:30pm
Python it is then. Thank you :)

Hoping the program I will be working on will become useful to me in short time. It's meant to be a learning project, to be fun.

The programs that exist out there for accounting are pretty bad though. Accountants say otherwise... but I've seen the workflow and the tasks I've had to do. There's a ton of problems. Some of which I can't fix since I can't actually modify Caseware, for example. Caseware lacks certain little things like if you're using the highlighter, you can't right click to stop using it, you have to go back into the menu and click on the highlighter symbol. Or if you want to sign off on something, there's no quick hotkey unless if you copy/paste. The list goes on with little things that add up. Plus the program is highly inefficient when dealing with automatically calculated forms.
Member
Posts: 2,940
Joined: Aug 23 2011
Gold: 1,080.37
Aug 9 2017 03:17am
Member
Posts: 184
Joined: May 12 2017
Gold: 1,435.00
Aug 19 2017 09:01am
NASA's peeps use Python (for numerical analysis and alike predominantly) / matlab (not so much anymore) and Java (JavaFX) enough said. :)

Member
Posts: 2,903
Joined: Aug 25 2009
Gold: 170.00
Aug 24 2017 03:57pm
or just straight php,

most people can only work with stupid frameworks, just learn php and you can do allot =) (more then just create/make websites)
Member
Posts: 3,197
Joined: May 4 2013
Gold: 1,457.00
Aug 24 2017 04:01pm
Quote (FreeUsername @ Aug 24 2017 02:57pm)
or just straight php,

most people can only work with stupid frameworks, just learn php and you can do allot =) (more then just create/make websites)




it takes special kind of evil to recommend someone php. It's not good language. It's horrible language for turds.
Go Back To Programming & Development Topic List
Add Reply New Topic New Poll