Open Side Menu Go to the Top
Register
Excel programming: Which language? Excel programming: Which language?

11-25-2012 , 05:03 PM
I automate a lot of manual **** that I do in VBA, but for bigger problems (1000s of loops 100s of times), I want something faster and reliable. So which language?

I currently know C#, Java, VBA and R. And I suppose learning C++ wouldn't be too hard.
Excel programming: Which language? Quote
11-27-2012 , 06:38 PM
I use C/C++ for everything because that's just what I know. I've been using perl more lately and it's great for scripting. Python is next on my list, you might give that a shot. If you already know R though, why not try that?
Excel programming: Which language? Quote
11-27-2012 , 06:50 PM
Python is probably the fastest way to bang out this sort of code, but I only say that because it's the language I'm most comfortable with.
Excel programming: Which language? Quote
11-29-2012 , 04:40 PM
IT dept doesn't trust me so I'll be sticking with VBA. Of those choices, I was leaning toward C#.

jmark - Unsure if R can import .xlsx. Either way, doesn't matter.
Excel programming: Which language? Quote
11-29-2012 , 04:46 PM
Weak.
Excel programming: Which language? Quote
11-29-2012 , 08:12 PM
Sometimes I think the IT department should be renamed to the NO department.
Excel programming: Which language? Quote
12-04-2012 , 06:10 PM
An alternative is VPN (e.g LogMeIn) into your laptop at home and write code from work.
Excel programming: Which language? Quote
12-07-2012 , 09:00 AM
do u need to interface with excel? if so c# or vb (since u know vba) seem like obvious choice.
Excel programming: Which language? Quote
12-08-2012 , 01:29 AM
Quote:
Originally Posted by muttiah
do u need to interface with excel? if so c# or vb (since u know vba) seem like obvious choice.
Besides performance, another reason I'd like to use another language is to make exe's. If anyone can use my programs and see my code, that decreases my value as an employee. Even if I don't password protect my exe's, the fact that someone else would have to interact with a command prompt is enough to scare them away.

Plus, this could open the gate of Excel-based models transforming into application/software-based models.


Either way, I'm not having success with C#/Excel. Anyone know where I can download the COM Interop for Excel?
Excel programming: Which language? Quote
12-08-2012 , 03:25 AM
Quote:
Originally Posted by :::grimReaper:::
Besides performance, another reason I'd like to use another language is to make exe's. If anyone can use my programs and see my code, that decreases my value as an employee. Even if I don't password protect my exe's, the fact that someone else would have to interact with a command prompt is enough to scare them away.

Plus, this could open the gate of Excel-based models transforming into application/software-based models.


Either way, I'm not having success with C#/Excel. Anyone know where I can download the COM Interop for Excel?
There are different ways to go about it, but google VSTO or Excel-DNA for some options. If you don't have to deploy the code for anyone else whose machine you have no control over, almost anything will work, but some technologies are difficult to work with if your deployment options are limited.
Excel programming: Which language? Quote
12-08-2012 , 11:20 AM
Quote:
Originally Posted by :::grimReaper:::
Besides performance, another reason I'd like to use another language is to make exe's. If anyone can use my programs and see my code, that decreases my value as an employee.
This is a tangent to your original question, but this is the wrong way to think about stuff like this imo. We had a guy in our department who protected his code like it was his first born child and wouldn't let anybody even read it, let alone make modifications to it. He didn't last long and almost completely put the whole department off relying on any in house software.

If I was your manager and you wrote a tool, shared it with your peers and improved everyone's output I would be extremely pleased with you. If you wrote a tool that increased efficiency of some task and refused to share it I would be looking to move you out of the department at the first opportunity.

Maybe you have a unique working situation that I don't understand, but it just seems backwards to me.
Excel programming: Which language? Quote
12-08-2012 , 01:52 PM
Neko is right.

Even if we assume you will always work for the company, there will be days where you can't reached or are too busy on something else to help others with the tool. If the tool can't be used, it's bad for business.
Excel programming: Which language? Quote
12-08-2012 , 02:22 PM
I think it might have been tyler ? not sure, so apologies if wrong - posted in the LC thread something along the lines "if you make yourself irreplaceable, you may make your job more safe, but you now can't be promoted either"
Excel programming: Which language? Quote
12-08-2012 , 02:27 PM
Read this then see if you still agree that hiding your code gives you more value:

http://en.wikipedia.org/wiki/Bus_factor

No one wants to handle a project where the bus factor is 1.
Excel programming: Which language? Quote
12-08-2012 , 02:46 PM
Quote:
Originally Posted by :::grimReaper:::
Besides performance, another reason I'd like to use another language is to make exe's. If anyone can use my programs and see my code, that decreases my value as an employee. Even if I don't password protect my exe's, the fact that someone else would have to interact with a command prompt is enough to scare them away.
Oh wow, I did not see this the first time.

This is terrible attitude. In most reasonable organizations, people recognize and reward employees who think from the perspective of the organization. Employees who are simlply liked by others also do well. Making others more productive will increase output for the organization, make people's jobs easier and make them appreciate you or both. It also feels good. Furthermore, in many jobs your attitude and propensity to help others may be more apparent than how much work you personally get done. Supervisors may not know how much work each person truly does but they can see good attitude and character and reward accordingly.

Now, there are dysfunctional organizations where strategies like this may be useful. Leaving is probably an even superior strategy.
Excel programming: Which language? Quote
12-08-2012 , 04:36 PM
Thanks for perspectives. Just to clarify, I work in finance, not software development. I've written a handful of "small to medium size" programs for others (many who are not my bosses) who use those programs everyday and am fine with them using that to whatever capacity.

The ones I do want to hide are the very large programs (that I've spent at least ~225 hours total) that do ~half of my job, and as a result, I tend to have 10-20 hours of free time per week. My manager is aware I tend to have free time, but hasn't trained me to do his work. Instead, they recently hired a new guy, who use to be coworkers with the group in a previous company and is more senior than me (I'm 23 and have only worked for a year), and my manager training him. In addition, they asked him to shadow me while I work. What am I suppose to make of this?

Under the circumstances, I rather be irreplaceable than promotable.
Excel programming: Which language? Quote
12-08-2012 , 05:05 PM
At my last job, I wrote a program to help me with marketing, and in no way shape or form, was my job involved in programming all, but of course, there was no software to help me, so I had to write it myself. I spent well more than 225 hours on it. The software is a mix of Python and SQL. No one would be able to just sit at the computer, click an icon, then start using it, but anyone who can write scripts would have no problem using the tool.

I left in mid-September. The owner called me to ask if there was a way to make the program more automated, and he also asked me who owned it. I told him I wrote it on his clock, while he was paying me, thus it belonged to the company. I didn't make it automated originally because I assumed they wouldn't bother finding someone that did what I did, and of course, I wanted the program to be as flexible as possible.

The point is that if you are being paid by a company, using their time to write a program that has no benefit outside of their company, especially when your job in no way, shape or form, holds the word "programmer" in its description, then it would be remiss of you to keep it and tell the company that they don't own it.

Think about the situation from the outside: you are refusing to share a program that apparently no one else would be able to use even if they wanted to. No wonder why you got passed up for a promotion. Who the hell wants to place a selfish person in management?
Excel programming: Which language? Quote
12-08-2012 , 07:11 PM
Quote:
Originally Posted by daveT
No wonder why you got passed up for a promotion. Who the hell wants to place a selfish person in management?
Huh? I never refused to share anything with anyone. Plus, they handle that stuff once a year in March. I was referring to dave's post: "if you make yourself irreplaceable, you may make your job more safe, but you now can't be promoted either"

I just don't want to program myself out of a job.
Excel programming: Which language? Quote
12-09-2012 , 05:25 AM
Quote:
Originally Posted by daveT
Who the hell wants to place a selfish person in management?
he works in finance
Excel programming: Which language? Quote
12-09-2012 , 05:53 AM
Quote:
Originally Posted by :::grimReaper:::
Huh? I never refused to share anything with anyone. Plus, they handle that stuff once a year in March. I was referring to dave's post: "if you make yourself irreplaceable, you may make your job more safe, but you now can't be promoted either"

I just don't want to program myself out of a job.
If you really "program yourself out of job," you're well-equipped to find something much better.

Plenty more to say, but I don't to derail.

Last edited by daveT; 12-09-2012 at 06:10 AM.
Excel programming: Which language? Quote
12-09-2012 , 03:18 PM
Quote:
Originally Posted by :::grimReaper:::
If anyone can use my programs and see my code, that decreases my value as an employee.
No, it actually decreases your value as an employee if you're the only one capable of doing something. What if you get hit by a bus, or get sick for a few weeks, or leave for another company?

Writing software is hard; you're still valuable if you can do it.
Excel programming: Which language? Quote
12-09-2012 , 03:20 PM
Quote:
Originally Posted by :::grimReaper:::
The ones I do want to hide are the very large programs (that I've spent at least ~225 hours total) that do ~half of my job, and as a result, I tend to have 10-20 hours of free time per week.
So you can save your company a ****-load of man-hours a week. That sounds like something you ought to bring up in a meeting you should be scheduling with your boss to talk about a raise.
Excel programming: Which language? Quote
12-09-2012 , 05:29 PM
It sounds like you should try and be more collegial in your next job.
Excel programming: Which language? Quote
12-16-2012 , 01:08 PM
have any experience with Ruby? the syntax is easy, and it's built to make exceptions and nest strings. I'm not great at it, but my understanding is it's meant for tasks almost exactly like this.
Excel programming: Which language? Quote
12-16-2012 , 05:25 PM
Quote:
Originally Posted by BradH
have any experience with Ruby? the syntax is easy, and it's built to make exceptions and nest strings. I'm not great at it, but my understanding is it's meant for tasks almost exactly like this.
Doesn't seem like it has any advantages over python in this regard, other than personal aesthetic preferences.

(For what it's worth, I dislike ruby's syntax, and prefer python.)
Excel programming: Which language? Quote

      
m