views:

1202

answers:

17

Programmatically. (alt. programmically)

I've never used it, but I see it in questions a lot, i.e. "How to programmatically determine [insert task here]". Firefox immediately tells me that neither of these two words are real (at least, it doesn't recognize them). I've also never seen them used anywhere but here.

1) What does it mean to do/determine something "programmatically"?

2) Why do so many people ask how to do/determine something "programmatically"? Isn't it assumed that, if you're asking how to do something on a programming help board, you're asking how to do it "programmatically"?

3) Why is it that I've never seen the word "programmatically" anywhere else?

+1  A: 
  1. To accomplish it with a program / in code. Example: eating a sandwich programmaticly would mean you write a program that eats a sandwich.
  2. I agree.
Isaac Waller
+12  A: 

Programmatically is a real word. From another random dictionary: Compact OED online.

Chris Young
Call me old fashioned, but being in online dictionary X doesn't necessarily make something a real English word.
Chris Lutz
Yeah, I use ask.com as my deity when it comes to defining words. Who needs the OED? I also bypass Brittanica in favor of Wikipedia. Pfft! :-)
paxdiablo
Chris Lutz: how about an online dictionary from Oxford? http://www.askoxford.com/concise_oed/programmatic?view=uk
Chris Young
It has >2 million Google hits. That qualifies it as a word in my book.
Adam Rosenfield
@Pax: I agree.@Chris Young: Damn. I maintain that the word still sounds really awkward, but that it may be real and I've just never heard it before now.
Chris Lutz
By the way, dictionary.com's entries all attribute their sources, and I made sure they came from actual published dictionaries.
Chris Young
Not to pile on, but it's in the built-in Dictionary on Mac OS. English is a living language 8)
willc2
@chris lutz - you're old fashioned. nowadays, being in printed dictionary X just confirms that the word was in the language at the time the book was printed. the fact that the word EXISTS and that it has a generally agreed upon usage and definition means that it is, in fact, a word. as willc2 said, english (along with every spoken language) is alive and constantly adapting.
Jason
+20  A: 

Doing something programatically generally means that you can do it using source code, rather than via direct user interaction or a macro.

For example, consider the problem of resizing columns to fit in Excel.

You could do it manually by double clicking between the columns, but that requires user interaction.

You could use the excel macro recorder, but that is fairly complicated.

Or, you could use VBA to write code that would do it.

I doubt it's actually in the dictionary.

Uri
Agreed. This is like when you ask about changing a file's attributes programmatically in Windows -- yeah, you can right-click on the file and go to Properties, but you can do it through code, too, which is the distinction given by the word.
rmz
Hey, macros are code too, you know. +1 anyway.
paxdiablo
I meant the old style Excel macros before they let you see the underlying VBA. Do you remember that thing? Hilarious.
Uri
+1  A: 

I think people (myself included) use the term 'programmatically' to refer to a function performed in source code (eg C#), as distinct from something done declaratively(eg XAML).

Darren Oster
+4  A: 
  1. To execute code that does it. Previously having written the code is implied.
  2. Probably in most cases it's something that's relatively easy for a human to do, with the challenge being automating it. The assumption you describe may or may not apply.
  3. I have no idea. I've seen it many times and in many circumstances. Incidentally, I categorically deny the idea that a word has to be on somebody's list somewhere to be a 'real word', especially when it's a clear construction from well-known roots, as in the case of 'programmatically'.
chaos
A: 

As others have said, it means asking for a solution for a particular problem in the form of code. This is particularly relevant in the modern era where GUIs are everywhere and operating systems are big, sprawling things with innumerable functions. It may be incredibly easy to find out a particular piece of information or perform a certain action manually as a human but how to do so as code is less obvious and requires research.

For example, consider how to delete a file and move it to the recycle bin in windows. Manually, this is trivial, select the file in explorer and hit delete. Or drag the file to the recycle bin. In code it's not remotely intuitive how you perform this action.

Wedge
A: 

Developers usually try to state the question as precisely as possible. They try to state the environment, the language, whatever else they already know. The more precise is the question the more precise hopefully is the answer. But when they can't state anything (like they just want to know if there is an API call to do something) they just ask how to do it programmatically.

sharptooth
+2  A: 

1) What does it mean to do/determine something "programmatically"?

I assume from your second question that the answer to this is already known to you ;) .*

2) Why do so many people ask how to do/determine something "programmatically"? Isn't it assumed that, if you're asking how to do something on a programming help board, you're asking how to do it "programmatically"?

Yes, but no harm comes from using the word!

3) Why is it that I've never seen the word "programmatically" anywhere else?

You're not looking hard enough! http://www.google.com/search?q=programmatically

Alterlife
+1  A: 
  1. doing something programmatically is doing something by executing program code
  2. do not ASSUME. It makes an A** of U and ME :) the thing is, many people can ask questions that are not programming-related (e.g. "how do i overwrite a read-only file in linux?")
  3. Usually it is clear by the context if things are done programmatically or not. Therefore the word is often redundant and not used. In here, people want to make sure they are understood, and their question is not answered in a wrong way ("how do i programmatically overwrite a read-only file in linux?" will provoke a different kind of answer than the one in 2.)
tehvan
+4  A: 

In .NET, "programmatically" generally means doing something in code rather than in a template, markup, configuration, or xml.

For instance, in an ASP.NET page you can add a textbox in the ASPX markup:

<asp:TextBox runat="server" />

Or you can add the control programmatically in the ASPX.cs codebehind:

this.Controls.Add(new TextBox());

Similarly, you can change configuration manually by editing the xml in the App.config file, or you can write code that will modify the configuration programmatically.

davogones
+2  A: 

http://www.merriam-webster.com/dictionary/programmatically

"Programatically" is an adverb. It is descriptive of the verb. In this case, it means that something will be done by a program and not by a manual, human operation.

A: 
Ash
It depends on how "efficiency" is measured. For example, if you chisel a big array in code instead of filling it programmatically, it is immediately available and does not have to be created first.
mxp
A: 

I mostly use the word in the context davogenes and ash explain it.

However I'd like to add that in this case, a synonym would be "dynamically" because you can add control elements at run-time and not already at design-time.

mxp
A: 

For me its the difference between working in the designer or in code (runtime).

You can do a lots of things in designmode, set a datasource to a datagrid and layout the columns and set colors and a lot of other things without do a single line of code. If I want to know how to do it in code instead of setting it in the design mode I would ask how to do it "programatically".

My 5 cents.

Stefan
A: 

In the case of iPhone development, programatically basically means not using Interface Builder.

Mk12