=Table1[[#This row];[first_column]] and =[first_column] are not the same. The first one refers to one cell. In your example the cell in [first_column] of the same row. The second one refers to the whole column data of the column [first_column]. In your example 3 cells {11;22;33}.
You will see this if you are using =SUM(Table1[[#This row];[first_column]]) versus =SUM([first_column]).
There =SUM([first_column]) is the same as =SUM({11;22;33}). But =[first_column] in one cell would be the same as ={11;22;33} in that one cell. And this only shows the first of the three values if applied in one cell only or the respective value of the row if applied to a range of three cells one below the other.
See: Using structured references with Excel tables.
The really shortcut for =Table1[[#This row];[first_column]] would be =Table1[@[first_column]] or [@[first_column]] if used in the same table. But this is not possible in Excel 2007.
All formulas are using semicolon as the list delimiter. Default would be comma for en_US Excel. But since it had be used in the question also, I have take it.